Closed AmjadHD closed 2 years ago
This is a feature of the Nim language itself, if you have ambiguous calls, then use full qualified symbol names to dissambiguate.
import jsconsole, nodejs
console.log jsutils.base64encode("example")
nim js -d:danger test.nim
and produces Warning: Module NodeJS is designed to be used with the NodeJS.
nim js -d:danger -d:nodejs test.nim
This is a feature of the Nim language itself,
if you have warnings/errors about Nodejs, then use -d:nodejs
so compiler knows this is not for browser.
To explain it in a simple way, if you use -d:nodejs
compiler knows is for Node,
otherwise it always targets the browser, and some API are different etc.
But, If I use -d:nodejs
, the output is much bigger (641 lines).
Use both -d:danger -d:nodejs
.
Also Nim is not kinda like CoffeeScript, that you get similar JS line-by-line with the code, Nim emulates the strong static typing, bounds checkings, and other safety features.
I AM using -d:danger
with and without -d:nodejs
.
see my comment above, without nodejs
is much shorter than with it (14 vs 641 lines).
and: