包管理器

Npm/Yarn


如何通过Npm发包
files

指定哪些文件会被打包发布(后面详细描述)。

main、browser、exports、module

这四个字段都是用来定义包的入口,npm 只规定了 mainbrowser 这两个字段,exportsnodejs 的规范,module 一般被构建工具所支持。

main

main 规定了包的主要入口点,默认值为 index.js
如果你的包名为 foo 可以通过 require("foo") 引入对应模块导出的内容,所以这应该是个 CommonJS 模块,除非你设置了 "type": "module"


Pnpm

  • 省空间
  • 解决幽灵依赖的问题

CI/CD

npm scripts
package.json.lock文件
  • 第三方包需要锁定版本号吗
peerDependencies
  • 项目安装的某个依赖存在peerDependencies,项目又没有声明这个依赖,那项目会自动安装吗,会autoinstall
github action
deploy