reactjs 为什么Vite build会抛出错误[commonjs--resolver]无法解析包的条目

icnyk63a  于 2023-02-15  发布在  React
关注(0)|答案(1)|浏览(1906)

我在节点模块上有一些包含 * package. json * 的包

{
  "sideEffects": false,
  "module": "./index.js",
  "main": "../node/{moduleName}/index.js",
  "types": "./index.d.ts"
}

尝试构建时抛出错误
[commonjs--resolver]无法解析软件包"/drone/src/node_modules/{module}/core/node_modules/@mui/material/LinearProgress "的条目。该软件包中指定的main/module/exports可能不正确。json:错误:没有此类文件或目录,lstat '/drone/src/节点模块/{模块}/core/节点模块/@mui/material/LinearProgress/index. js '在构建期间出错:
我的虚拟配置是

import { defineConfig } from 'vite';
import RubyPlugin from 'vite-plugin-ruby';

export default defineConfig({
  build: {
    assetsInlineLimit: 2048,
    rollupOptions: {
      external: ['react', 'react-dom'],
      output:{
        globals: {
          react: 'React',
          'react-dom': 'ReactDom'
        },
        manualChunks(id) {
          if (id.includes('node_modules')) {
            return id.toString().split('node_modules/')[1].split('/')[0].toString();
          }
        }
      }
    }
  },
  plugins: [RubyPlugin()],
});

我找到了这个Solution,但无法将其从package.json中删除
我怎样才能解决这个问题?

t9aqgxwy

t9aqgxwy1#

如果您使用的是vite bundler,则可以使用https://vitejs.dev/config/shared-options.html#resolve-alias(例如:

resolve: {
  alias: [
    {
      find: /@mui\/material/,
      replacement: path.resolve(__dirname, 'node_modules', '@mui', 'material'),
    },
  ],
},

相关问题