从命令行在脚本中运行函数(Node JS)

JavaScript Node.js

DavaidTony宝儿

2020-03-24

我在Node中编写一个Web应用程序。如果我有一些db.js带有函数的JS文件init如何从命令行调用该函数?

第3167篇《从命令行在脚本中运行函数(Node JS)》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

4个回答
猪猪 2020.03.24

如果文件仅包含函数,例如:

myFile.js:

function myMethod(someVariable) {
    console.log(someVariable)
}

像这样从命令行调用它不会发生:

node myFile.js

但是,如果您更改文件:

myFile.js:

myMethod("Hello World");

function myMethod(someVariable) {
    console.log(someVariable)
}

现在,这将从命令行运行:

node myFile.js
宝儿猪猪西门 2020.03.24

我执行IIFE,类似这样:

(() => init())();

此代码将立即执行并调用init函数。

西里前端Tom 2020.03.24

简单方法:

假设您在项目结构的helpers目录中有db.js文件。

现在进入helpers目录并进入节点控制台

 helpers $ node

2)需要db.js文件

> var db = require("./db")

3)调用您的函数(在您的情况下为init())

> db.init()

希望这可以帮助

伽罗 2020.03.24

直接从CLI运行(全局)

安装

npm i -g run-func

用法,即运行函数“ init”,必须将其导出,请参阅底部

run-func db.js init

要么

从package.json脚本运行(本地)

安装

npm i -S run-func

设定

"scripts": {
   "init": "run-func db.js init"
}

用法

npm run init

参数

以下任何参数将作为函数参数传递 init(param1, param2)

run-func db.js init param1 param2

重要

该函数(在此示例中init)必须导出到包含该函数的文件中

module.exports = { init };

或ES6导出

export { init };

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android