umi4 在用 vite 启动的时候,我自己写的 npm 包会报错,
但用 webpack 启动则不会有这个问题
在仓库提了 issues 后,官方的回答是下图
我用 rollup 和 father 打包过,都有这个问题,
【互操作的胶水和提示代码】是什么,该怎么产出呢?
求解
umi4 在用 vite 启动的时候,我自己写的 npm 包会报错,
但用 webpack 启动则不会有这个问题
在仓库提了 issues 后,官方的回答是下图
我用 rollup 和 father 打包过,都有这个问题,
【互操作的胶水和提示代码】是什么,该怎么产出呢?
求解
你不用把它当成一个很复杂的概念,就按照字面理解即可:
前者一般来说需要自己写,因为毕竟是代码。后者比较简单,如果你用 TS 的话,tsconfig.json
里加上 declaration: true
然后执行 tsc
即可。JS 我暂时没搞过。
6 回答2.9k 阅读✓ 已解决
8 回答4.6k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
这个意思其实就是兼容配置,题主可以想象一下用胶水把
webpack
和vite
粘在一起所以它没有通用的方案,是根据实际情况去配置的。
vite
的打包方式和webpack
不大一致(比如vite
使用ES module
,如果题主的代码中存在common js
的范式,就会不兼容)题主可以参考各自的官方文档,看看是否缺少某些配置
补充示例
胶水代码的定义是宽泛的,只要能兼容理论上就可以算作一种“胶水”
比如说你的项目用
webpack
配置了一个sass-loader
:然后你想在
vite
中也兼容就可以这么做: