1.exports
为了使用方便,node内部提供的一个变量,指向module.exportsexports和module.exports的区别
exports只能抛出对象,而module.exports可以抛出当前内容形式原因:当调用require函数加载模块时,实则加载的是该模块的module.exports的属性值而exports只是为了使用方便,node内部提供的一个变量,指向module.exports.(var exports=module.exports)如果抛出形式为exports=xxx,则相对于切断了exports和module.exports的联系,此时exports将不再指向module.exports的联系,此时exports将不再指向module故只能采用exports.key=val的形式将内容抛出模块的缓存
模块可以被调用多次,但只会在第一次调用时执行,之后再调用,流直接加载缓存的结果清除模块的缓存 随机数 String.fromCharCode(65)“A”
require(相对 绝对路径 不带路径)
不带路径:内置模块 /第三方包内置模块:node自带的模块,安装node时已存于本地硬盘fs http path url.第三方包:存于www.npmjs.com 先下载后引入npm是node强大的包管理器(下载、卸载、上传)package包管理文件(包名,版本号,依赖,作者)版本号规则1.0.0如果修复了上个版本的bug,则要修改地三位版本号 1.0.1如果新增了功能,且兼容上个版本,则修改第二位版本号1.1.0如果新增了功能,且不兼容上个版本,则修改第已位版本号2.0.0scripts用于封装一些命令行指令scripts{ "start":"指令",“自定义指令命”:“指令1&&指令2”->运行:npm run 自定义指令命}dependencies 生产环境(线上) 项目中依赖的包
devDependencies 开发环境 工具 gulp eslint webpack