You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue2迁移Vue3遇TypeError及组件库兼容问题求助

核心程序模块从Vue2迁移至Vue3的构建问题

我开发的应用包含核心程序与模块,从Vue 2迁移至Vue 3时遇到棘手问题。此前版本中,每个模块通过Rollup配置生成component.js和settings.js文件,放置在Roaming/installationFile/module/nameofModule目录供核心程序读取。

原Rollup配置

//... imports
const plugins = [
  image(),
  json(),
  commonjs(),
  vue({
    css: true, // Inject CSS in <style> tag
  }),
  nodeResolve({ browser: true })
]

export default [
  {
    input: 'src/wrapper.js',
    output: {
      file: 'dist/component.js',
      format: 'es'
    },
    plugins
  },
  {
    input: 'src/settings/Settings.vue',
    output: {
      file: 'dist/settings.js',
      format: 'es'
    },
    plugins
  }
];

package.json的dev脚本通过dev.js借助fs将文件复制到指定目录。

迁移后的Vite配置

export default defineConfig({
    plugins: [
        vue(),
        AutoImport({
            resolvers: [ElementPlusResolver()], // 前端使用Element Plus
        }),
        Components({
            resolvers: [ElementPlusResolver()],
        }),
    ],
    resolve: {
        dedupe: ['element-plus']
    },
    build: {
        lib: {
            entry: {
                component: 'src/wrapper.js',
                settings: 'src/settings/Settings.vue',
            },
            formats: ['es'],
        },
        minify: false,  // 禁用压缩
        rollupOptions: {
            output: {
                dir: 'dist',  // 输出文件目录
                format: 'es',
                entryFileNames: '[name].js',  // 生成component.js和settings.js
            },
        },
    },
}) 

当前问题与尝试方案

尝试使用Rollup但Vue 3插件无法工作,触发错误:TypeError: Cannot read properties of null (reading 'ce')。

已尝试的解决方法:

  • 执行了相关GitHub讨论中的所有方案;
  • 移除AutoImport和Components插件后错误消失,但Element Plus组件及CSS全部失效;
  • 按照Element Plus官方文档手动导入组件,未生效。

更新进展

切换至Vuetify后组件部分可用,例如v-select能正常显示但下拉无选项;通过vite-plugin-css-injected-by-js解决了CSS加载问题。目前希望找到适配Vue3.4的Rollup插件,考虑换回Rollup构建。

内容的提问来源于stack exchange,提问作者gitsal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 20:13:10