1 Star 0 Fork 0

吕志超/card-vite

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
vite.cards.config.ts 1.66 KB
一键复制 编辑 原始数据 按行查看 历史
吕志超 提交于 2024-08-28 23:14 . feat: card打包配置
import { defineConfig, loadEnv } from 'vite';
import vue from '@vitejs/plugin-vue';
import { resolve } from 'path';
import cssInjectedByJdPlugin from 'vite-plugin-css-injected-by-js';
import { buildPlugin } from 'vite-plugin-build';
import externalGlobals from 'rollup-plugin-external-globals';
const cardList = [
{
input: './src/views/card-one.vue',
output: 'card-one.js',
name: 'card-one'
},
{
input: './src/views/card-two.vue',
output: 'card-two.js',
name: 'card-two'
}
];
const multipleEntryBuild = (buildOptions) => {
const options = buildOptions.map((item) => {
return {
lib: {
entry: resolve(__dirname, item.input),
name: '_',
formats: ['es'],
fileName: () => item.output
},
rollupOptions: {
input: {
[item.name]: resolve(__dirname, item.input)
},
// 匹配需要排除在bundle外部的模块
externam: ['vue'],
plugins: [
externalGlobals({
vue: 'Vue'
})
]
}
};
});
return buildPlugin({
fileBuild: false,
libBuild: {
buildOptions: options
}
});
};
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd(), '');
console.log(env);
return {
plugins: [vue(), cssInjectedByJdPlugin(), multipleEntryBuild(cardList)]
};
});
/**
* 添加了rollupOptions.external,
* 在页面使用远端组件js的时候,会报错:
* Uncaught typeError: Failed to resolve module specifier "vue". Relative references must start with either "/", "./", or "../".
* 报错原因就是打吧后的js,在开头import 相关模块时,无法识别到模块
*/
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/hellow-world-lzc/card-vite.git
git@gitee.com:hellow-world-lzc/card-vite.git
hellow-world-lzc
card-vite
card-vite
master

搜索帮助