vite build 时 import { Button } from “XXX“ 变成了 import Button from “XXX/es/button“, 组件库没有es文件夹,导致报错

遇到这个bug ,大概率是 某个插件改变了代码

我用的是 vite-plugin-imp , 可以分析导入, 自动引入 css

插件中有个 replaceOldImport 属性


vite dev 时是 false , build 时是 true,
这个 bug 只会在 build 时触发

  • true: 会把 import { Button } from "XXX" 变为 import Button from "XXX/es/button"

  • false : 保持原状 import { Button } from "XXX"

解决方案:

手动设置 replaceOldImport: false
这样插件就只导入css , 不再修改导入的格式

// 导入
import vitePluginImp from 'vite-plugin-imp'

//插件
plugins: [
  vitePluginImp({
    libList: [
      {
        libName: 'my-ui-components',
        // ↓设置为 false
        replaceOldImport: false,        
        style(name) {
         // 代码省略
        },
      }
    ]
  })
],

你可能感兴趣的:(JavaScript,vite,/es/,build,vite-plugin-imp,css,组件库)