如何导入非node.js文件?

Wil*_*3uk 23 javascript node.js

如何加载不符合node.js格式的外部js文件.我正在尝试导入json序列化库.我怎样才能做到这一点?

nic*_*ten 33

2个答案......

1)JSON对象是内置到Node.js的,所以你可以调用JSON.parse()来和JSON.stringify(),没有必要引入外部代码这种特殊情况下.

2)导入外部代码,node.js遵循CommonJS模块规范,你可以使用require()

所以如果你有一个名为external.js的文件(与你的代码的其余部分在同一个目录中):

this.hi = function(x){ console.log("hi " + x); }
Run Code Online (Sandbox Code Playgroud)

从你做的节点:

var foo = require("./external");
foo.hi("there");
Run Code Online (Sandbox Code Playgroud)

你会看到输出 hi there


Ran*_*Etc 10

如果您信任代码(我的意思是,真的相信代码),那么您可以eval:

eval(require('fs').readFileSync('somefile.js', 'utf8')); 
Run Code Online (Sandbox Code Playgroud)

我不建议使用远程代码执行此操作(因为它可能会在您不知情的情况下进行更改)但如果您有本地副本,那么它应该没问题.

  • 这是一个可怕的答案.我喜欢它. (8认同)