Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

package.json 中 你还不清楚的 browser,module,main 字段优先级 #343

Open
981377660LMT opened this issue Aug 24, 2023 · 3 comments

Comments

@981377660LMT
Copy link
Owner

No description provided.

@981377660LMT
Copy link
Owner Author

981377660LMT commented Aug 24, 2023

main 一般是 cjs 格式,module 一般是 es 格式

image image

@981377660LMT
Copy link
Owner Author

SunshowerC/blog#8

@981377660LMT
Copy link
Owner Author

981377660LMT commented Aug 24, 2023

npm 包其实又分为:只允许在客户端使用的,只允许服务端使用的,浏览器/服务端都可以使用。
如果我们需要开发一个 npm 包同时兼容支持 web端 和 server 端,需要在不同环境下加载npm包不同的入口文件,显然一个 main 字段已经不能够满足我们的需求,这就衍生出来了 module 与 browser 字段。

  • main : 定义了 npm 包的入口文件,browser 环境和 node 环境均可使用
  • module : 定义 npm 包的 ESM 规范的入口文件,browser 环境和 node 环境均可使用
  • browser : 定义 npm 包在 browser 环境下的入口文件

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant