【互操作的胶水和提示代码】是什么?
umi4 在用 vite 启动的时候,我自己写的 npm 包会报错,
但用 webpack 启动则不会有这个问题
在仓库提了 issues 后,官方的回答是下图
我用 rollup 和 father 打包过,都有这个问题,
【互操作的胶水和提示代码】是什么,该怎么产出呢?
求解
回复
1个回答
test
2024-06-29
这个意思其实就是兼容配置,题主可以想象一下用胶水把 webpack
和 vite
粘在一起
所以它没有通用的方案,是根据实际情况去配置的。vite
的打包方式和 webpack
不大一致(比如 vite
使用 ES module
,如果题主的代码中存在 common js
的范式,就会不兼容)
题主可以参考各自的官方文档,看看是否缺少某些配置
补充示例
胶水代码的定义是宽泛的,只要能兼容理论上就可以算作一种“胶水”
比如说你的项目用 webpack
配置了一个 sass-loader
:
module.exports = {
module: {
rules: [
{
test: /\.scss$/,
use: [
'style-loader',
'css-loader',
'sass-loader'
]
},
// 其他loader配置...
]
},
};
然后你想在 vite
中也兼容就可以这么做:
import { defineConfig } from 'vite';
export default defineConfig({
css: {
preprocessorOptions: {
scss: {
implementation: require('sass')
}
}
},
});
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容