问题描述
我使用的是启用了即插即用 (PnP) 的 Yarn v2。我想使用 Babel 转译我的一些依赖项的 js 文件并使用 Rollup 捆绑它们。
但是,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)
我认为这是由以下行为引起的:
- Babel 注入
import flatmap from 'core-js-pure/features/array/flat-map.js'
。 - Rollup 无法解析导入,因为
core-js-pure
不是包的列出依赖项,并将导入视为外部依赖项。
在 Yarn PnP 模式下,有没有什么方法可以使转译依赖的 js 文件使用 Rollup+Babel 工作?
以下是我尝试过的一些解决方法:
- 将
pnpMode
设置为loose
,以便 Rollup 可以解析core-js-pure
,即使它不是文件所属包的列出依赖项。 - 添加带有
resolveId
挂钩的自定义汇总插件以解决对core-js-pure
的任何导入。钩子将包含类似require.resolve(source)
的内容。这是有效的,因为我在我的代码中解析core-js-pure
,其中core-js-pure
是列出的依赖项。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)