侧边栏壁纸
  • 累计撰写 218 篇文章
  • 累计创建 59 个标签
  • 累计收到 5 条评论

[vite]: Rollup failed to resolve

barwe
2022-12-07 / 0 评论 / 1 点赞 / 5,461 阅读 / 900 字
温馨提示:
本文最后更新于 2022-12-07,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

monorepo 项目打包时遇到如下问题:

$pnpm -F microsmart build

> microsmart@0.0.0 build /home/barwe/projects/monobr/app
> vue-tsc --noEmit && vite build

Use API: http://127.0.0.1:3000/
vite v3.1.7 building for production...
transforming (1) index.html[vite-plugin-vue-images] no images found
✓ 235 modules transformed.
[vite]: Rollup failed to resolve import "vue" from "../oviz/components/utils/palette.ts".
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
`build.rollupOptions.external`

参考 https://github.com/vitejs/vite/issues/6607 的解答,原因是 rollup 打包时找不到 @oviz/components 包的依赖。从报错信息来看,@oviz/components 包似乎依赖于 vue,虽然我的 @oviz/components 包源码并没有直接引入 vue。

我的 monorepo 结构如下:

monorepo
|-- microsmart
	|-- package.json
|-- @oviz/components
	|-- package.json
|-- @oviz/crux
	|-- package.json
|-- package.json

经检查,vue 依赖只存在 microsmart 包中,解决办法是将 vue 依赖从 microsmart/package.json 移动到 monorepo/package.json 中。

1

评论区