在开发NodeJS代码的时候,或者在测试某个方法的时候,我们需要能够直接运行Node代码里面的某个函数,比如db.js 里面有一个init()的方法,这个时候我们应该如何做呢?方法有很多种,下面简单介绍两种方法。
(1)直接用node -e
假设db.js里面的init方法如下:
module.exports.init = function () {
console.log('hi');
};
在和db.js同级的目录下运行下面的命令:
node -e 'require("./db").init()'
如果db.js 属于一个模块:db.mjs, 则可试用动态模块的方法去调用
node -e 'import("./db.mjs").then( loadedModule => loadedModule.init() )'
(2)借助run-func的工具
这种方法比较简单方便,但是需要额外安装一个工具
npm i -g run-func
直接使用
run-func db.js init
或者也可以在package.json里面进行配置
"scripts": {
"init": "run-func db.js init"
}
使用的时候直接跑命令
npm run init
需要注意的是,一定要方法从文件中导出
module.exports = {
init };
ES6的导出
export {
init };
如果有参数的话,可以直接在后面接参数
run-func db.js init param1 param2