如何在Node.js交互式环境中加载外部.js文件并维持交互状态?
在Node.js交互式环境中加载外部JS文件并保留交互能力
你可以通过以下几种方式实现需求:
方法1:使用Node REPL内置的.load命令
Node的交互式环境(REPL)自带加载外部文件的命令,直接在REPL中输入:
> .load app.js
执行后,app.js内的代码会被逐行执行,文件中定义的变量、函数会直接进入当前REPL的全局作用域,之后即可直接调用:
> addNumber(a,b); 11
方法2:使用require加载模块
如果你的app.js采用模块化写法(更符合Node.js规范),可修改文件内容为:
exports.a = 5; exports.b = 6; exports.addNumber = function(x, y) { console.log(x + y); };
然后在REPL中加载并解构变量:
> const { a, b, addNumber } = require('./app.js'); > addNumber(a, b); 11
若不想修改原文件,也可将模块内的变量挂载到全局:
> Object.assign(global, require('./app.js')); > addNumber(a,b); 11
方法3:启动REPL时预加载文件
直接在终端启动Node时加载app.js并进入REPL,启动后即可直接使用文件内的内容:
- Linux/macOS:
node -i -e "$(< app.js)"
- Windows CMD:
node -i -e "@type app.js"
内容的提问来源于stack exchange,提问作者AGamePlayer
相关产品推荐
相关产品推荐

