0

我正在使用启用了即插即用 (PnP) 的 Yarn v2。我想使用 Babel 转换我的一些依赖项的 js 文件,并使用 Rollup 捆绑它们。

但是,汇总发出以下警告并且输出不正确:

(!) Unresolved dependencies
https://rollupjs.org/guide/en/#warning-treating-module-as-external-dependency
core-js-pure/features/url/index.js (imported by ../../.yarn/cache/systemjs-npm-6.10.1-130dfe2f84-0f27c4c97c.zip/node_modules/systemjs/dist/system.min.js)

我相信这是由以下行为引起的:

  1. Babel 注入import flatmap from 'core-js-pure/features/array/flat-map.js'
  2. Rollup 无法解析导入,因为core-js-pure它不是包的列出依赖项,并将导入视为外部依赖项。

有没有什么方法可以在 Yarn PnP 模式下使用 Rollup+Babel 转换依赖项的 js 文件?

以下是我尝试过的一些解决方法:

  1. 设置pnpModeloose以便 Rollup 可以解析core-js-pure,即使它不是文件所属包的列出依赖项。
  2. 添加一个带有钩子的自定义汇总插件resolveId以解析任何导入到core-js-pure. 钩子将包含类似require.resolve(source). 这是有效的,因为我正在core-js-pure我的代码中解析core-js-pure列出的依赖项。
4

0 回答 0