1. 模块化
Node.js是基于模块化设计的,通过模块化可以使得代码清晰可读、易于维护、易于测试。在Node.js中,有以下几种模块的导出方式:
1.1 CommonJS规范
在Node.js中引入其他模块使用的是CommonJS规范,它有四个重要的API,分别是:
require():用于加载模块。
exports:用于导出模块。
module.exports:用于导出模块。
__filename:当前模块的文件名。
在Node.js中,每个文件就是一个模块,可以通过 require() 来引入其他模块。
const add = require('./add.js');
console.log(add(1, 2));
1.2 ES6模块化
Node.js 也支持 ES6 模块化
import add from './add.js';
console.log(add(1, 2));
2. 文件系统
在Node.js中,提供了丰富的文件系统操作,可通过fs模块实现,它有以下几个常用API:
fs.writeFile(file, data[, options], callback):写文件。
fs.readFile(path[, options], callback):读文件。
fs.appendFile(path, data[, options], callback):追加文件。
fs.unlink(path, callback):删除文件。
fs.mkdir(path[, options], callback):创建目录。
fs.rmdir(path, callback):删除目录。
需要注意的是文件系统操作都是异步操作,需要使用回调函数获取结果。
// 写文件
const fs = require('fs');
fs.writeFile('test.txt', 'hello world', function(err) {
if(err) {
console.log(err);
}
console.log('文件写入成功!');
});
// 读文件
fs.readFile('test.txt', 'utf8', function(err, data) {
if(err) {
console.log(err);
}
console.log('读取文件成功!' + data);
});
3. 环境变量
在Node.js中,可以通过 process 对象的 env 属性获取当前进程的环境变量。
console.log(process.env);
在开发中,可以通过环境变量来配置不同环境下的参数,比如:
const env = process.env.NODE_ENV;
const temperature = env === 'production' ? 0.5 : 0.8;
console.log(`temperature: ${temperature}`);
在这个例子中,根据环境变量的不同,设置不同的 temperature 值,用于控制程序运行时的温度。