Vite项目使用CDN

vite如果把全部的文件都给本地打包的话,体积就很大,所以把公共库给打包出来,就能减少很多体积。

使用vite插件vite-plugin-cdn-import,很方便的打包。下面以vue和element-plus为例。

安装插件

npm install vite-plugin-cdn-import

 使用插件

找到vite配置文件vite.config.js

头部添加

npm install vite-plugin-cdn-import

添加到文件plugins节点中
主要添加到modules中,多个CDN,就添加多个对象
name为需要 CDN 加速的包名称,一般名称为在js文件中from后的名称,import xx from 'name'
var为引用的变量,一般在js文件中import后的名称
css如果引用CDN库中有CSS,就把CSS填写上,无需在JS文件中再引入了

importToCDN({
  modules: [
    {
      name: 'vue',
      var: 'Vue',
      path: `https://cdn.staticfile.org/vue/3.2.45/vue.runtime.global.prod.min.js`,
    },
    {

      name: 'element-plus',
      var: 'ElementPlus',
      path: `https://cdn.staticfile.org/element-plus/2.2.28/index.full.min.js`,
      css: 'https://cdn.staticfile.org/element-plus/2.2.28/index.min.css'
    },
  ]
})

上述配置,配置了Vue和element-plus库
那么在JS引用如下

import { createApp } from 'vue'
import App from './App.vue'
import ElementPlus from 'element-plus'
createApp(App).use(ElementPlus).mount('#app')

完整vite.config.js内容

import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'
import {Plugin as importToCDN} from "vite-plugin-cdn-import"
export default defineConfig({
    plugins: [
        vue(),
        importToCDN({
            modules: [
                {
                    name: 'vue',
                    var: 'Vue',
                    path: `https://cdn.staticfile.org/vue/3.2.45/vue.runtime.global.prod.min.js`,
                },
                {

                    name: 'element-plus',
                    var: 'ElementPlus',
                    path: `https://cdn.staticfile.org/element-plus/2.2.28/index.full.min.js`,
                    css: 'https://cdn.staticfile.org/element-plus/2.2.28/index.min.css'
                },
            ]
        }),
    ]
});

 

上一篇 CorePress Pro主题已支持评论归属地
下一篇 CorePress重构预告
目录
applek

applek管理员

个人说明在个人中心里面设置

本月创作热力图

少
多
最新评论
卢温白
卢温白
10月10日
咨询 AeroCore 主题: 1、能否制作两套独立归档模板,分别分配给两个父栏目,各自下属全部子分类?一套分类网格一行 10 个卡片,另一套分类列表一行仅显
评论于关于本站
卢温白
卢温白
10月10日
咨询 CoreNext 主题: 1、能否制作两套独立归档模板,分别分配给两个父栏目,各自下属全部子分类?一套分类网格一行 10 个卡片,另一套分类列表一行仅显
评论于留言建议
jo
jo
10月9日
为什么后台不能更新主题,提示已经最新版。当前版本1.4.9,我看网站显示版本都到1.5.2了
Tom
Tom
10月8日
AeroCore 的按需加载确实做得好,Vite 构建后的首屏比之前 CoreNext 快不少。不过上面 Mike 说的进度条问题我这边也能稳定复现:从留言页点
评论于留言建议
Shaw
Shaw
10月2日
需要邀请码注册功能,有了马上下单