如何解决如何在 Yarn PnP 模式下使用 Rollup+Babel 转译依赖项的 js 文件?
我使用的是启用了即插即用 (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 举报,一经查实,本站将立刻删除。