vehicle-monitor/build/cdn.ts

69 lines
2.0 KiB
TypeScript
Raw Normal View History

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
* cdnhttps://www.bootcdn.cn当然你也可以选择 https://unpkg.com 或者 https://www.jsdelivr.com
* 使jscss文件cdn
*/
export const cdn = importToCDN({
2025-02-25 23:14:50 +08:00
//prodUrl解释 name: 对应下面modules的nameversion: 自动读取本地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
};