Node.js教程:新手入门
4,命令行
### 4.1 从命令行运行 Node.js 脚本 ```bash #!/usr/bin/env node #明确告诉 shell 使用 node 运行你的脚本 #!/usr/bin/env node #并非所有操作系统的 bin 文件夹中都有 node,但所有操作系统都应该有 env node app.js #要将字符串作为参数执行,你可以使用 -e、--eval "script" node -e "console.log(123)" #自动重启应用 使用 nodemon 模块 将 nodemon 模块全局安装到系统路径 npm i -g nodemon npm i --save-dev nodemon #将 nodemon 安装为开发依赖 #使用 nodemon 命令运行应用 nodemon app.js ``` ### 4.2 从 Node.js 读取环境变量 > Node.js 的 `process` 核心模块提供了 `env` 属性,它承载了进程启动时设置的所有环境变量。 - 运行时设置 ```bash #运行 app.js 并设置 USER_ID 和 USER_KEY USER_ID=239482 USER_KEY=foobar node app.js #访问我们在上面代码中设置的 USER_ID 和 USER_KEY 环境变量 process.env.USER_ID; // "239482" process.env.USER_KEY; // "foobar" ``` - 项目根目录下创建一个 `.env` 文件 ```bash #.env file USER_ID="239482" USER_KEY="foobar" NODE_ENV="development" ``` ```js //在你的 js 文件中 require('dotenv').config(); process.env.USER_ID; // "239482" process.env.USER_KEY; // "foobar" process.env.NODE_ENV; // "development" //如果你不想在代码中导入包,也可以使用 node -r dotenv/config index.js 命令运行你的 js 文件 ``` ### 4.3 使用 Node.js 输出到命令行 - **console.log()** ```js const x = 'x'; const y = 'y'; console.log(x, y); //格式化 console.log('My %s has %d ears', 'cat', 2); console.log('%o', Number); console.clear() 清除控制台 ``` - 计数元素 ```js console.count() 将计算一个字符串被打印的次数,并在它旁边打印计数 console.countReset() 方法重置与 console.count() 一起使用的计数器 const oranges = ['orange', 'orange']; const apples = ['just one apple']; oranges.forEach(fruit => { console.count(fruit); }); apples.forEach(fruit => { console.count(fruit); }); console.countReset('orange'); //将值计数器重置为零 oranges.forEach(fruit => { console.count(fruit); }); ``` - **console.trace()** 打印堆栈跟踪 ```js jscopyconst function2 = () => console.trace(); const function1 = () => function2(); function1(); ``` - 计算花费的时间 你可以使用 `time()` 和 `timeEnd()` 轻松计算函数运行所需的时间 ```js jscopyconst doSomething = () => console.log('test'); const measureDoingSomething = () => { console.time('doSomething()'); // do something, and measure the time it takes doSomething(); console.timeEnd('doSomething()'); }; measureDoingSomething(); ``` - 创建进度条 ```js //创建一个 10 步进度条,每 100 毫秒完成一个步骤。 当柱形结束时,我们清除间隔: jscopyconst ProgressBar = require('progress'); const bar = new ProgressBar(':bar', { total: 10 }); const timer = setInterval(() => { bar.tick(); if (bar.complete) { clearInterval(timer); } }, 100); ```
顶部
收展
底部
[TOC]
目录
1,新手入门
2,异步工作
3,文件操作
4,命令行
5,yarn 依赖管理
相关推荐
Node.js接口
Node.js:ExpressWeb
朴灵《深入浅出 Node.js》