如何导入非Node.js文件?

9 浏览
0 Comments

如何导入非Node.js文件?

如何加载不符合node.js格式的外部js文件。我想导入json序列化库。我该怎么做?

0
0 Comments

在使用Node.js时,有时会遇到导入非Node.js文件的问题。这种情况下,我们需要编写包装器或更改代码来解决这个问题。Node.js无法自动判断哪些函数应该被导出,因此我们需要根据Common JS标准来调整代码。在这之前,我们可以先查看Node.js的API文档和Modules页面,看看是否已经有人为我们完成了这项工作。

如果你要编写既适用于浏览器又适用于Node.js的代码,可以使用如下包装器:

(function(node) {
    // 这里是你的精彩代码
    if (node) {
        exports.foo = ...
    } else {
        window.foo = ...
    }
})((function(){return ('' + this).slice(8, -1) !== 'DOMWindow';})());

0
0 Comments

在使用Node.js时,我们可能会遇到需要导入非Node.js文件的情况。例如,我们可能需要导入一个名为external.js的文件,并在其中调用其中的函数。

Node.js提供了一种解决方法,即遵循CommonJS模块规范并使用require()函数来导入外部代码。

首先,我们需要确保在与我们的代码相同的目录下有一个名为external.js的文件。在这个文件中,我们可以定义一些函数或变量供我们在我们的代码中使用。例如,在external.js中,我们定义了一个名为hi的函数,它可以打印出"hi"和传递给它的参数。

然后,在我们的Node.js代码中,我们可以使用require()函数来导入external.js文件。在我们的代码中,我们使用require("./external")来导入与我们的代码位于同一目录下的external.js文件。导入之后,我们可以创建一个变量(在这个例子中,我们创建了一个名为foo的变量),并使用这个变量来调用external.js中定义的函数。

当我们运行这段代码时,我们会看到输出为"hi there",这是external.js中定义的hi函数的输出。

总结起来,要在Node.js中导入非Node.js文件,我们可以遵循CommonJS模块规范并使用require()函数来导入外部代码。这使得我们能够在我们的代码中使用外部文件中定义的函数或变量。

0
0 Comments

问题的出现原因是我们想要导入非Node.js文件,但是Node.js只支持导入Node.js模块。解决方法是使用eval函数来执行文件内容,但是这种方法只适用于我们完全信任这段代码的情况,不建议在远程代码中使用。我们也可以使用简单的require来导入文件,这比读取JSON文件更简单,特别适用于将JSON作为配置文件注入到.js文件中使用。对于从我们已经信任的文件中导入内容,我们可以像使用require()一样信任它。

0