包的使用
在node环境下我们使用第三方包需要使用 require将node_module中的包引入使用文件中
let { why } = require("why");
配置脚本指令
在package.json文件中我们在 scripts字段中配置指令
"scripts": {
"dev": "node ./src/main.js"
},
这个指令可以使用 npm run dev来运行 相当于在控制台上输出 "node ./src/main.js"这段指令
main字段使用
思考为什么使用why第三方包时直接引入 require("why");就行,而不是输入完整路径 require("why/index.js");
因为在node环境中默认index文件为入口文件,所以我们在使用why第三方包的时候默认引入why文件中的index.js文件,在npm 中main字段能帮助我们修改入口文件
例子:
就比如我现在需要将why文件下的index文件修改为main文件

该怎么让why()正常运行

将main字段指定为入口文件的名字就行
此时可以看到

why()正常运行
Scripte字段
对于可以省略npm run xxx指令值run的指令 npm start npm stop npm restart npm test可以直接运行
Dependencies
开发依赖
生产依赖
对于以来后面的版本号:
版本规范X.Y.Z:
X是主版本号:到你做了不兼容的API修改(可能不兼容之前的版本)
Y次版本号: 当你做了向下兼容的功能性新增 (新功能增加,但是兼容之前版本)
Z修订号 : 当前你做了向下兼容的修正 (没有新功能,修复来之前版本的bug)
解释一下^和~的区别:
x.y.z: 表示一个明确的版本号;
^x.y.z: 表示X是保持不变的,y和z永远安装最新的版本;
~x.y.z: 表示x和y保持不变的,z永远安装最新的版本;
Npm其他命令
- 卸载依赖包
- npm uninstall package
- npm uninstall package --save-dev
- npm uninstall package -D
- 强制重新构建
- npm rebuild 当你需要将依赖全部更新到最新版本时执行
- 清除缓存
- npm cache clean 当你发现npm 体积太大时可以执行该命令释放缓存
- npm config get cache 获取缓存存储的位置
cnpm工具
解决没办法很好的从registry.npmjs.org下载下来需要的包
- 查看npm镜像:
npm config get registry
-
直接设置npm的镜像:
npm config set registry https://registry.npm.taobao.org
Npx工具
npx的作用非常多,但是比较常见的是使用它来调用项目的某个模块指令.
npx 的作用是将node_modules下的bin文件中的局部指令暂时添加到环境变量中, 例子:
当你全局安装webpack 3.0.0版本,和npm webpack 5.0.0 -D局部安装webpack,
在你项目中的终端使用webpack --version此时版本还是显示3.0.0是应为终端会先去找环境变量中的指令,
但是你使用npx webpack --version此时webpack版本就是5.0.0,是因为npx会暂时将node_modules下bin文件中的指令添加到环境变量中
npm发布
-
注册npm账号:
- www.npmjs.com/
- 选择
sign up
-
在命令行登录
npm login
-
修改package.json
-
发布到npm registry上
npm publish -
更新仓库:
- 修该版本号(最好符合(semver规范)
- 重新发布
-
-
删除发布的包:
npm unpublish -
让发布的包过期:
npm deprecate