我在启动项目后遇到了这个错误: 浏览器运行时错误。 我唯一做的事情就是添加webpack。这是webpack配置文件的参考:
const webpack = require('webpack'); const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const Dotenv = require('dotenv-webpack'); const config = { entry: './src/index.tsx', mode: 'development', devtool: 'source-map', output: { path: path.resolve(__dirname, 'dist'), filename: 'bundle.js' }, module: { noParse: [/\/node_modules\/@tanstack\/react-query-devtools\//], rules: [ { test: /\.(js|jsx)$/, use: 'babel-loader', exclude: /node_modules/ }, { test: /\.css$/, use: [ 'style-loader', 'css-loader' ] }, { test: /\.png$/, use: [ { loader: 'url-loader', options: { mimetype: 'image/png' } } ] }, { test: /\.svg$/, use: 'file-loader' }, { test: /\.ts(x)?$/, loader: 'ts-loader', exclude: /node_modules/ } ] }, plugins: [ new Dotenv(), new HtmlWebpackPlugin({ template: "./src/index.html", }), ], resolve: { extensions: [ '.tsx', '.ts', '.js' ] }, devServer: { port: 3000, // 将端口3000添加到开发服务器 hot: true, // 启用热模块替换(HMR) open: true, // 服务器启动时在默认浏览器中打开应用程序 static: { directory: path.resolve(__dirname, 'dist'), // 设置用于提供文件的基本目录 } } }; module.exports = config;
然后我开始遇到materialUI错误。起初我以为是我不小心更新了package.json文件,但事实并非如此。我还想指出的是,添加webpack之前它是可以工作的。我所做的只是配置webpack并安装一些依赖项(这些依赖项不会影响先前的依赖项或版本!)。 在将webpack添加到项目后,我还遇到了另一个错误,我使用'patch-package'库进行了修复,使用以下补丁文件:
diff --git a/node_modules/@mui/material/SvgIcon/SvgIcon.js b/node_modules/@mui/material/SvgIcon/SvgIcon.js index 9c80c7b..b254159 100644 --- a/node_modules/@mui/material/SvgIcon/SvgIcon.js +++ b/node_modules/@mui/material/SvgIcon/SvgIcon.js @@ -8,7 +8,7 @@ import { unstable_composeClasses as composeClasses } from '@mui/base'; import capitalize from '../utils/capitalize'; import useThemeProps from '../styles/useThemeProps'; import styled from '../styles/styled'; -import { getSvgIconUtilityClass } from './svgIconClasses'; +import svgIconClasses from './svgIconClasses'; import { jsx as _jsx } from "react/jsx-runtime"; import { jsxs as _jsxs } from "react/jsx-runtime"; const useUtilityClasses = ownerState => { @@ -20,7 +20,7 @@ const useUtilityClasses = ownerState => { const slots = { root: ['root', color !== 'inherit' && `color${capitalize(color)}`, `fontSize${capitalize(fontSize)}`] }; - return composeClasses(slots, getSvgIconUtilityClass, classes); + return composeClasses(slots, svgIconClasses, classes); }; const SvgIconRoot = styled('svg', { name: 'MuiSvgIcon',
这是通过补丁修复的先前错误:
我尝试使用多个版本的node(nodejs)来查看是否可以多次遇到错误。但无论是在node 14.15.0还是18.15.0中都无法工作。
另一个奇怪的事情是,我什至在项目中找不到"getUtilityClass"这个词(在vsCode中使用ctr + shit + f查找)。
问题确实出在依赖关系上。在安装某些库时,我可能漏掉了一些东西。当我恢复到旧的package-json文件,并只添加我需要的依赖后,通过npm install安装后,项目就正常工作了!