目录
1、如何从CLI 运行Node.js 脚本
2、将字符串作为参数传递到节点,而不是文件路径
3、自动重新启动应用程序
4、如何从Node.js中读取环境变量
1、如何从CLI 运行Node.js 脚本
运行Node.js程序的通常方法是运行全局可用的Node命令(一旦安装Node.js),并传递要执行的文件的名称。
如果您的主要Node.js应用程序文件是app.js,您可以通过键入以下内容来调用它:
// 简单示例
let test = "app.js content";
console.log(test);
node app.js
您明确地告诉shell使用node运行您的脚本。您也可以使用“shebang”行将这些信息嵌入到您的JavaScript文件中。“shebang”是文件中的第一行,告诉操作系统要使用哪个解释器来运行脚本。下面是JavaScript的第一行:
#!/usr/bin/node
上面,我们明确给出了解释器的绝对路径。并不是所有的操作系统都在bin文件夹中有节点,但所有操作系统都应该有env。您可以告诉操作系统以节点为参数运行env:
#!/usr/bin/env node
// your code
要使用shebang,您的文件应该具有可执行权限。您可以通过运行以下命令授予app.js可执行权限:
chmod u+x app.js
2、将字符串作为参数传递到节点,而不是文件路径
要将字符串作为参数执行,可以使用-e,-eval“script”。将以下参数求值为JavaScript。REPL中预定义的模块也可以在脚本中使用。
在Windows上,使用cmd.exe单引号将无法正常工作,因为它只识别双引号。在Powershell或Git bash中,双引号和单引号都可用。
node -e "console.log(123)"
3、自动重新启动应用程序
每当应用程序发生更改时,都必须在bash中重新执行node命令。要自动重新启动应用程序,请使用nodemon模块。
将nodemon模块全局安装到系统路径:
npm i -g nodemon
您也可以将nodemon作为开发依赖项安装:
npm i --save-dev nodemon
可以通过在npm脚本(如npm start)中调用nodemon或使用npx nodemon来运行nodemon的本地安装。
使用nodemon命令和应用程序的文件名运行应用程序:
nodemon app.js
4、如何从Node.js中读取环境变量
Node.js的进程核心模块提供了env属性,该属性承载了进程启动时设置的所有环境变量。
USER_ID=123 USER_KEY=key123 node app.js
这将传递用户user_ID作为123,传递user_KEY作为key123。这适用于测试,但对于生产,您可能会配置一些bash脚本来导出变量。
注意:流程不需要“require”,它是自动可用的。
下面是一个访问USER_ID和USER_KEY环境变量的示例,我们在上面的代码中设置了这些变量。
process.env.USER_ID; // "123"
process.env.USER_KEY; // "key123"
以同样的方式,您可以访问您设置的任何自定义环境变量。
如果节点项目中有多个环境变量,也可以在项目的根目录中创建.env文件,然后在运行时使用dotenv包加载它们。
# .env file
USER_ID="123"
USER_KEY="key123"
NODE_ENV="development"
在文件中获取:
require('dotenv').config();
process.env.USER_ID; // "123"
process.env.USER_KEY; // "key123"
process.env.NODE_ENV; // "development"
如果不想在代码中导入包,也可以使用node -r dotenv/config index.js命令运行js文件。