1. 获取程序执行时间
// 打印程序执行时间
console.time()
// some functions
console.timeEnd()
2. 将函数异步化
setTimeout(() => {}, 0);
3. node参数
process.argv
返回的是一个参数数组,第一个是Node的路径,第二个是文件的路径,第三个开始是输入的路径
# 使用process.argv获得的第三个和第四个参数分别是lznism和22
node demo.js 'lznism' 22
4. 所有的文件操作都最好使用绝对路径
执行node demo.js
时,相对路径是以demo.js的路径为基准的,很容易导致错误,最好使用__dirname
来转换一下。
5. reqiure可以直接加载JSON文件
const json = require('test.json')
如果不写后缀名,记载顺序.node > .js > .json > 同名目录下的package.json中配置的main中的文件 > 同名目录下的index.js
6. 模块的加载顺序
系统模块 => node_modules(一级一级的向上查找)
7. 模块的缓存
每次模块被加载时都会被缓存
// 手动清空缓存
Object.keys(require.cache).forEach(item => {
delete require.cache[item];
});