使用Node JS命令行从另一个文件执行功能

时间:2018-07-02 13:41:06

标签: javascript node.js

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

我看到可以使用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中的连接器功能。 / p>

那么有没有一种方法可以在A.js中使用连接器而不必在其中粘贴所有B.js代码?

1 个答案:

答案 0 :(得分:2)

使用..来建立目录,因此,例如,如果您的基本目录的目录为“服务器”的目录为“ A.js”,目录的“脚本”的目录为“ 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(...);