混合节点模块,在 package.json 中有一个主条目和一个模块条目

问题描述 投票:0回答:0
  "name": "@private-owner/tracking",
  "version": "0.0.1",
  "description": "Library which provides JS helper methods for GoogleAnalytics and DataWarehouse tracking",
  "main": "dist/tracking.cjs",
  "module": "dist/tracking.esm.js",
  "repository": "https://github.com/@private-owner/tracking",
  "license": "UNLICENSED",
  "private": false,
  "type": "module",

我正在尝试使我们使用的库在内部与 ESM 和 CJS 兼容。 上面的解决方案有效吗?我可以同时拥有这两个字段(

main
module
)吗?我读到推荐的做法是有一个条件导出字段,有点像:

{
  "exports": {
    "import": "./index-import.js",
    "require": "./index-require.cjs"
  },
  "type": "module"
}

以上有必要吗?

node.js es6-modules commonjs
© www.soinside.com 2019 - 2024. All rights reserved.