我在启动项目后遇到了这个错误: 浏览器运行时错误。 我唯一做的事情就是添加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查找)。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
问题确实出在依赖关系上。在安装某些库时,我可能漏掉了一些东西。当我恢复到旧的package-json文件,并只添加我需要的依赖后,通过npm install安装后,项目就正常工作了!