包管理器
Npm/Yarn
如何通过Npm发包
files
指定哪些文件会被打包发布(后面详细描述)。
main、browser、exports、module
这四个字段都是用来定义包的入口,npm
只规定了 main
和 browser
这两个字段,exports
是 nodejs
的规范,module
一般被构建工具所支持。
main
main
规定了包的主要入口点,默认值为 index.js
。
如果你的包名为 foo
可以通过 require("foo")
引入对应模块导出的内容,所以这应该是个 CommonJS 模块,除非你设置了 "type": "module"
。
Pnpm
- 省空间
- 解决幽灵依赖的问题
CI/CD
npm scripts
package.json.lock文件
- 第三方包需要锁定版本号吗
peerDependencies
- 项目安装的某个依赖存在peerDependencies,项目又没有声明这个依赖,那项目会自动安装吗,会autoinstall