npm包的发布

在cmd窗口登录

npm login //登录之前将地址切换为 npm官方地址
nrm ls //检查服务器
nrm use <名称> //切换服务器

进入包所在目录

npm publish //即可将包发布在npm上
npm unpublish 包名 --force //即可从npm删除已发布的包,72小时内允许删除

模块加载机制

重复require同一个内容,只执行一次

NODE内置模块加载优先级最高

自定义模块加载顺序

如果没有输入文件的扩展名时Node会分别尝试加载以下的文件:

1、按照确切的文件名进行加载

2、补全.js扩展名进行加载

3、补全.json扩展名进行加载

4、补全.node扩展名进行加载

如果传递给require模块的标识符没有以./或../开头,则Node.js会从当前模块的父目录开始,尝试从/node_modules文件夹加载第三方模块

如果没有招到对应的第三方模块,则移动到上一层父目录中,进行加载,直到文件系统的根目录

目录作为模块:

把目录作为模块标识符,传递给require()进行加载的时候,有三种加载方式:

1、在被加载的目录下查找一个叫做package.json的文件,并寻找main属性,作为require()加载的入口

2、如果目录里没有package.json文件,或者main入口不存在或无法解析,则Node.js将会试图加载目录下的index.js文件

3、如果以上两步都失败了,则Node.js火灾中单打印错误消息,报告模块的缺失