node 直接以严格模式运行calc.js
node –use_strict calc.js
node 目录寻找机制
1.引用同级目录 * ./ *
var greet = require(‘./hello’)
2.引用上级目录 * ../ *
var greet = require(‘../hello’)
3.只写文件名
var greet = require(‘hello’)
查找顺序:node内置模块 -> 全局模块 -> 当下模块
均没有则抛出异常 Error: Cannot find module ‘modulename’
module.exports 和 exports
默认情况下module.exports和exports是同一个变量,并初始化为{},exports是module.exports的引用
module.exports = {b:5}
exports.a = 3
1.若在hello.js中重置了module.exports,则exports会丢失对module.exports的引用
此时,在另一个js中,通过exports添加的属性不存在
let hello = require('./hello')
console.log(hello.a) // undefine
2.如果要输出一个函数或数组,必须直接对module.exports对象赋值。
本文介绍了Node.js中模块的加载机制,包括如何使用require加载不同路径的模块,以及module.exports和exports的区别。当重置module.exports后,exports将不再指向module.exports。
1万+

被折叠的 条评论
为什么被折叠?



