【问题标题】:Node.js: Executing a file from the CLINode.js:从 CLI 执行文件
【发布时间】:2026-02-23 18:45:01
【问题描述】:

使用 Linux,我可以运行带有 node file.js 的 Javascript 文件。使用node进入Node CLI后是否可以运行file.js

【问题讨论】:

  • 我不相信你可以......反正不能直接。
  • 如果您能解释一下您要完成的工作,将会有所帮助。但是,您可以从 Node repl 再次 exec 它或使用 Node 核心中的 vm 模块:nodejs.org/api/vm.html

标签: node.js command-line-interface


【解决方案1】:

编辑:这实际上可以通过 REPL 函数实现,特别是.load。这会将脚本加载到当前终端,允许终端输入进行调试而不是恢复标准输入。

可以使用.help 访问 REPL 命令。

【讨论】:

    【解决方案2】:

    你真的不能这样做。

    您可以做的是使用require,无论是独立运行还是由require 使用,您都可以使您的文件表现不同,这几乎可以满足您的需求。

    从 CLI:

    mod = require("my_module);
    mod.my_function();
    

    要确定您是否在独立运行,请使用如下测试:require.main === module

    所以 file.js 变成了:

    function my_function() {
      ...
    }
    
    exports.my_function = my_function;
    
    if (require.main === module) {
      // I'm running standalone
      my_function();
    }
    

    【讨论】: