Skip to content

问题1:element ui全局样式报错

问题2:路由里的require使用方式不行,改成import,装插件cite-plugin-require-transform

问题3:某个组件提示我没有name,因为注释的问题,在template上//注释了

问题4:导入的组件404,import时需要写明.vue文件

问题5:带别名的路径找不到,配置别名alias

问题6:vue2装插件vite-plugin-vue2

问题7:问题1的延伸,element ui的字体文件出错,因为vue-cli打包是~开头的,vite不认识

所以修改:
$--font-path: '~element-ui/lib/theme-chalk/fonts';
$--font-path: "../fonts";
@import "~element-ui/packages/theme-chalk/src/index";
@import "node_modules/element-ui/packages/theme-chalk/src/index";
按理说这样改之后就可以了,复制字体文件到项目文件夹里,但是总是报错说解析不到字体文件
反复尝试不同路径仔细观察报错后发现,其实是App.vue文件和main.js文件找不到字体文件
那就很奇怪了,按理说,vue文件怎么会引用字体文件呢?
再查看具体文件,发现了在vue文件中,@import了main.scss文件,会导致路径混乱导致解析不到
@import "./assets/sass/main.scss";这一行实际上应该在main.js中导入
删了,在main.js中添加import "./assets/sass/main.scss";
问题解决

问题8:jsx的语法报错:

响应的js上增加 <script lang="jsx"></script>

js
import path from 'path'
import { defineConfig } from 'vite'
import { createVuePlugin } from 'vite-plugin-vue2'
import requireTransform from 'vite-plugin-require-transform'

export default defineConfig({
  server: {
    port: 8899
  },
  plugins: [
    createVuePlugin({
      jsx: true,
    }),
    requireTransform({
      fileRegex: /.js$|.vue$/,
    }),
  ],
  resolve: {
    extensions: ['.mjs','.js','.vue','.ts','.jsx','.tsx','.json'],
    alias: {
      '@': path.resolve(__dirname, 'src'),
      '@constant': path.resolve(__dirname, 'src/constant'),
      '@encrypt': path.resolve(__dirname, 'src/assets/js/encrypt.js'),
      '@mixin': path.resolve(__dirname, 'src/mixin'),
    },
  }