2025-02-26 16:31:59 +08:00
|
|
|
|
import { Plugin as importToCDN } from 'vite-plugin-cdn-import';
|
|
|
|
|
|
|
|
|
|
import { wrapperEnv } from './utils';
|
2025-02-24 22:45:14 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @description 打包时采用`cdn`模式,仅限外网使用(默认不采用,如果需要采用cdn模式,请在 .env.production 文件,将 VITE_CDN 设置成true)
|
|
|
|
|
* 平台采用国内cdn:https://www.bootcdn.cn,当然你也可以选择 https://unpkg.com 或者 https://www.jsdelivr.com
|
|
|
|
|
* 注意:上面提到的仅限外网使用也不是完全肯定的,如果你们公司内网部署的有相关js、css文件,也可以将下面配置对应改一下,整一套内网版cdn
|
|
|
|
|
*/
|
|
|
|
|
export const cdn = importToCDN({
|
2025-02-25 23:14:50 +08:00
|
|
|
|
//(prodUrl解释: name: 对应下面modules的name,version: 自动读取本地package.json中dependencies依赖中对应包的版本号,path: 对应下面modules的path,当然也可写完整路径,会替换prodUrl)
|
|
|
|
|
// prodUrl: 'https://cdn.bootcdn.net/ajax/libs/{name}/{version}/{path}',
|
2025-02-26 16:31:59 +08:00
|
|
|
|
prodUrl: 'https://unpkg.com/{name}@{version}/{path}',
|
2025-02-25 23:14:50 +08:00
|
|
|
|
modules: [
|
|
|
|
|
{
|
2025-02-26 16:31:59 +08:00
|
|
|
|
name: 'vue',
|
|
|
|
|
var: 'Vue',
|
|
|
|
|
path: 'dist/vue.global.prod.js',
|
2025-02-25 23:14:50 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-02-26 16:31:59 +08:00
|
|
|
|
name: 'vue-router',
|
|
|
|
|
var: 'VueRouter',
|
|
|
|
|
path: 'dist/vue-router.global.js',
|
2025-02-25 23:14:50 +08:00
|
|
|
|
},
|
|
|
|
|
// {
|
|
|
|
|
// name: 'vue-i18n',
|
|
|
|
|
// var: 'VueI18n',
|
|
|
|
|
// path: 'dist/vue-i18n.global.prod.js',
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// name: 'vue-demi',
|
|
|
|
|
// var: 'VueDemi',
|
|
|
|
|
// path: 'lib/index.iife.js',
|
|
|
|
|
// },
|
|
|
|
|
{
|
2025-02-26 16:31:59 +08:00
|
|
|
|
name: 'pinia',
|
|
|
|
|
var: 'Pinia',
|
|
|
|
|
path: 'dist/pinia.iife.js',
|
2025-02-25 23:14:50 +08:00
|
|
|
|
},
|
|
|
|
|
// {
|
|
|
|
|
// name: 'element-plus',
|
|
|
|
|
// var: 'ElementPlus',
|
|
|
|
|
// path: 'dist/index.full.js',
|
|
|
|
|
// css: 'dist/index.css',
|
|
|
|
|
// },
|
|
|
|
|
{
|
2025-02-26 16:31:59 +08:00
|
|
|
|
name: 'axios',
|
|
|
|
|
var: 'axios',
|
|
|
|
|
path: 'dist/axios.min.js',
|
2025-02-25 23:14:50 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-02-26 16:31:59 +08:00
|
|
|
|
name: 'dayjs',
|
|
|
|
|
var: 'dayjs',
|
|
|
|
|
path: 'dayjs.min.js',
|
2025-02-25 23:14:50 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-02-26 16:31:59 +08:00
|
|
|
|
name: 'echarts',
|
|
|
|
|
var: 'echarts',
|
|
|
|
|
path: 'dist/echarts.min.js',
|
2025-02-25 23:14:50 +08:00
|
|
|
|
},
|
|
|
|
|
],
|
2025-02-24 22:45:14 +08:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
/* 是否使用CDN加速 */
|
2025-02-25 23:14:50 +08:00
|
|
|
|
export const useCDN = (mode) => {
|
2025-02-26 16:31:59 +08:00
|
|
|
|
const env = wrapperEnv(mode, 'VITE');
|
2025-02-25 23:14:50 +08:00
|
|
|
|
return env.VITE_CDN ? cdn : null;
|
2025-02-24 22:45:14 +08:00
|
|
|
|
};
|