类型错误:无法读取 null 的属性(读取“ce”)

问题描述 投票:0回答:1

我正在使用的应用程序包含核心和模块。当我从 Vue 2 迁移到 Vue 3 时,我遇到了一个似乎无法解决的错误。在以前的版本中,每个模块都包含一个 Rollup 配置,该配置创建两个文件(components.js 和 settings.js)并将它们放置在 Roaming/installationFile/module/nameofModule 中。然后核心应用程序读取这两个文件。 rollup.config

//... 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

//...
"scripts": {
        "dev": "node ./dev.js",
//...


dev.js 使用 fs 将文件添加到 Roaming/installationFile/module/nameofModule 中。

迁移后: vite.config.js

export default defineConfig({
    plugins: [
        vue(),
        AutoImport({
            resolvers: [ElementPlusResolver()], // I'm using element plus for front
        }),
        Components({
            resolvers: [ElementPlusResolver()],
        }),
    ],
    resolve: {
        dedupe: ['element-plus']
    },
    build: {
        lib: {
            entry: {
                component: 'src/wrapper.js',
                settings: 'src/settings/Settings.vue',
            },
            formats: ['es'],
        },
        minify: false,  // Disable minification
        rollupOptions: {
            output: {
                dir: 'dist',  // Directory for the output files
                format: 'es',
                entryFileNames: '[name].js',  // Will create component.js and settings.js
            },
        },
    },
}) 

我尝试使用 Rollup,但我尝试的 Vue 3 插件对我不起作用。

错误是:TypeError:无法读取 null 的属性(读取“ce”)(在我的例子中是“ce”,而不是 isCE)。

我尝试过的:

更新:从 Element Plus 切换到 Vuetify 后,组件开始部分工作。例如,v-select组件看起来很好,但是当我单击它时,我在下拉列表中看不到项目。我还遇到了 CSS 问题,我通过使用插件 vite-plugin-css-injected-by-js 解决了这个问题。我现在正在考虑是否有 Rollup.js 的 Vue 3.4 插件,这样我就可以从 Vite 切换到 Rollup。

vue.js vite rollup modular element-plus
1个回答
0
投票

我遇到了同样的问题,我使用@vueCli创建了一个自定义库test-ui-dev,使用了slot标签,发布到npm,在一个vite创建的项目中引用了这个自定义库,报出了同样的错误。使用npm ls查看整个项目只引用了一个vue库。没有人知道这是个什么问题?怎么导致的?

© www.soinside.com 2019 - 2024. All rights reserved.