1,exports===module.exports //true
注意:当exports被重新赋值之后,他两就不会指向同一个对象了,数据就不会返回,但是返回数据的是module.exports!!!
2,解决npm加载慢------淘宝镜像(因为访问的是国外的服务器)
使用cnpm:
npm install -g cnpm --registry=https://registry.npm.taobao.org
然后cnpm install XXX 就行
3,require方法加载规则:
require方法加载模块,模块分为三种:核心模块,第三方模块,用户自己写的模块(路径形式 )
(1),优先从缓存加载
a.js
require('a.js')
require('b.js')
b.js
var fn=require('c.js')
console.log(fn)
在b.js中已经加载了c.js,所以a.js里require('b.js')是不会被加载的,因为之前已经加载过一次,有缓存就不会重复加载,提高模块加载的效率
(2),
加载哪一个文件看package.json文件,如果package.json文件main入口指定了入口模块,那么就加载那个模块,如果没有指定或者不存在就默认找该目录下的index.js,如果没有,就查找上一级,如果还没有,就查找上上一级,直到磁盘根目录,如果还没有就报错:can not find module xxx
(node模块默认放在根目录里的node_module里)
4,--save(-S)和--save-dev(-D)的区别
–save(-S)会存放到”dependencies”,而–save-dev(-D)会存放到”devDependencies”。
--save(-S)是对生产环境所需依赖的声明(开发应用中使用的框架,库)
比如:jq,loader都需要放到这里面
--save-dev(-D)是对开发环境所需依赖的声明(构建工具,测试工具)
比如:babel,webpack,webpack-dev-server都放到当前目录
5,解决频繁重启服务器问题(除了本文说的nodemo之外,还有热加载,这个后面补充)
nodemon:第三方工具
使用方式:
(1),安装
npm install --global nodemon
(2),使用
nodemon app.js
.。。。。。。。。。。。。。。。。后续会继续补充。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。