NodeJS 如何在节点repl中要求.js文件

tktrz96b  于 2023-06-29  发布在  Node.js
关注(0)|答案(2)|浏览(94)

所以我通常使用rubyirb,我可以通过运行

load './script.rb'

然后我在script.rb中编写的所有函数都可以使用了。
我一辈子都不知道如何在节点“控制台”环境中做到这一点!

ar5n3qh5

ar5n3qh51#

您可以使用require函数加载JavaScript文件。下面的示例假设Node.js进程在文件所在的目录下启动。

require('./script.js');

这将执行该文件的内容。
如果已导出函数或对象,则可以将它们赋给变量,以便以后使用。

const myFunction = require('./script.js').myFunction;
myFunction();
11dmarpk

11dmarpk2#

像许多其他开发框架/语言一样,Node有一个模块/包系统,它是CommonJS的变体。要加载模块,请使用require()require()的用法在运行JavaScript文件或在REPL中运行时是相同的。
您可以要求使用Node Core Modules、NPM Installed Packages或您自己的本地模块。当加载在package.json或本地模块中指定的NPM包时,Node将从当前工作目录(CWD)加载它们,您可以使用process.cwd()进行检查。CWD将被设置为启动REPL的目录的绝对路径。
您可以通过在CLI中运行node来启动REPL,并需要如下所示的包。

// Core Package
const os = require('os')
console.log(os)

// NPM Package
const moment = require('moment')
console.log(moment)

// Local Package
const myPackage = require('./myPackage')
console.log(myPackage)

您还可以在运行node时使用-r标志预先要求模块。下面的代码将使用预加载的os包启动Node REPL。然后可以使用变量os访问os

node -r os
console.log(os)

未来,Node还可能支持ECMAScript Modules(即import)。您可以在Enhancement Proposal中阅读更多详细信息。

相关问题