vite.config.js 文件:
import { fileURLToPath, URL } from 'node:url'
import viteCompression from 'vite-plugin-compression'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import importToCDN from "vite-plugin-cdn-import";
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
vue(),
vueJsx(),
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
viteCompression({
filter: /.(js|css|html|json|mjs|png|jpg|jpeg|svg)$/i
}),
importToCDN({
modules: [...CDN.css, ...CDN.js],
})
],
resolve: {
alias: {
'@': '/src'
}
}
})
// CDN外链,会插入到index.html中
const CDN = {
css: [
// name:表示模块的名称 var:表示模块在全局作用域中的变量名,如果该属性未指定,则默认使用模块的名称作为变量名。path:表示模块在CDN中的路径。
{
// name: "***",
// var: "***",
path: "https://unpkg.com/animate.css@4.1.1",
},
{
path: "https://unpkg.com/bootstrap@5.3.1/dist/css/bootstrap.min.css",
},
{
path: "https://unpkg.com/bootstrap-icons@1.10.0/font/bootstrap-icons.css",
}
],
js: [
{
path: "https://unpkg.com/@popperjs/core@2.11.6/dist/umd/popper.min.js",
},
{
path: "https://unpkg.com/bootstrap@5.3.1/dist/js/bootstrap.min.js",
}
]
};
启动就报错:
【以下回答由 GPT 生成】
问题分析: 根据问题的描述,使用vite-plugin-cdn-import时报错"Cannot read properties of undefined (reading 'css')"。根据代码,问题出现在importToCDN引入的modules数组定义上,没有包含CSS相关的配置。
解决方案: 为了解决该问题,需要在vite.config.js文件中正确配置importToCDN插件的modules属性,包括合适的CSS配置。
const CDN = {
css: [
{
// name: "***",
// var: "***",
path: "https://unpkg.com/animate.css@4.1.1",
},
{
path: "https://unp
importToCDN({
modules: [...CDN.css, ...CDN.js],
})
完整代码如下:
import { fileURLToPath, URL } from 'node:url';
import viteCompression from 'vite-plugin-compression';
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import vueJsx from '@vitejs/plugin-vue-jsx';
import importToCDN from "vite-plugin-cdn-import";
import AutoImport from 'unplugin-auto-import/vite';
import Components from 'unplugin-vue-components/vite';
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers';
// CDN外链,会插入到index.html中
const CDN = {
css: [
{
// name: "***",
// var: "***",
path: "https://unpkg.com/animate.css@4.1.1",
},
{
path: "https://unp
export default defineConfig({
plugins: [
vue(),
vueJsx(),
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
viteCompression({
filter: /.(js|css|html|json|mjs|png|jpg|jpeg|svg)$/i
}),
importToCDN({
modules: [...CDN.css, ...CDN.js],
})
],
resolve: {
alias: {
'@': '/src'
}
}
})
这样,我们应该可以成功修复"Cannot read properties of undefined (reading 'css')"的报错。
但是需要注意的是,由于信息不完整,如缺失的CDN配置,仍然会导致代码片段不完整。这可能会影响最终的解决方案。在真实的开发环境中,请确保提供完整的代码和详细的错误信息以供更准确的问题解决方案。
把你的CDN放在前面,不能放在末尾