【问题标题】:Executing a function from another file using Node JS Command Line使用 Node JS 命令行从另一个文件执行函数
【发布时间】:2018-07-02 13:41:06
【问题描述】:

我想在主文件 (A.js) 中使用另一个 JS 文件 (B.js) 中的函数(称为连接器),因为 B.js 中的函数连接器需要在 A.js 中计算的值, B.js中的其他功能都是由connector触发的。

我看到可以使用 Node JS 命令行启动整个脚本,但我无法为脚本中的特定功能找到类似的操作。

我尝试在 B.js 中使用 var exports.connector = function connector(args) {,然后在 A.js 中使用 require,但看起来不可能,因为 B.js 不属于项目结构的同一个文件夹甚至分支,所以我保留收到错误消息“找不到模块 './scripts/B.js'”(A.js 在 ./server/A.js 中)。

我从 Node JS 中查看了process.argv,这可以帮助我保存 A.js 中的值,也许可以在 B.js 中获取它们,但这无助于触发 A.js 中的连接器功能。

那么有没有办法在 A.js 中使用连接器而无需将所有 B.js 代码粘贴到其中?

【问题讨论】:

    标签: javascript node.js


    【解决方案1】:

    使用.. 来建立一个目录,例如,如果你有一个基目录,其中目录'server' 有'A.js' 和目录'scripts' 有'B.js',使用以下语句从 A.js 导入 B.js:

    const b = require('./../scripts/B.js');
    

    或者,您可以使用 ES6 语法,如下所示:

    // scripts/B.js
    export function func1(...) {
      ...
    }
    
    export function func2(...) {
      ...
    }
    
    // server/A.js
    import * as b from './../scripts/B.js';
    
    b.func1(...);
    b.func2(...);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-23
      • 2015-08-27
      • 2014-09-22
      • 2016-08-11
      • 2013-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多