我正在尝试设置 CRA 应用程序的绝对路径。 问题是设置绝对路径后node模块出现运行时错误。
TypeError: Cannot read property 'type' of undefined
(anonymous function)
C:/Users/apple/Desktop/front-test/node_modules/redux-logger/dist/redux-logger.js:1
> 1 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"...
我以为是设置webpack的路径有问题,所以尝试使用react-app-rewired和customize-cra解决。
然而,即使我做了配置覆盖,同样的错误仍然发生。老实说,我不知道为什么会发生这种错误。节点模块是否根据我设置的 baseUrl 寻找自己?
这些是我设置的配置。
config-overrides.js
const { override, addWebpackAlias } = require("customize-cra");
const path = require("path");
module.exports = override(
addWebpackAlias({
"@": path.resolve(__dirname, "src"),
})
);
tsconfig.paths.json
{
"compilerOptions": {
"baseUrl": "src",
"paths": {
"@/*": ["src/*"]
}
}
}
tsconfig.json
{
"extends": "./tsconfig.paths.json",
"compilerOptions": {
"target": "es5",
"module": "esnext",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"allowSyntheticDefaultImports": true,
"noFallthroughCasesInSwitch": true,
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx",
"baseUrl": "src"
},
"include": [
"src"
]
}
包.json
{
"name": "my-app",
"version": "0.1.0",
"private": true,
"dependencies": {
...
},
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"customize-cra": "^1.0.0",
"react-app-rewired": "^2.1.8"
}
}