当我为我的项目运行webpack时,出现此错误,表明React-Redux软件包无法解析其某些内部模块:
ERROR in ./node_modules/react-redux/es/index.js
Module not found: Error: Can't resolve './components/Context' in '/home/.../frontend/src/node_modules/react-redux/es'
@ ./node_modules/react-redux/es/index.js 3:0-57 12:0-179
@ ./index.tsx
ERROR in ./node_modules/react-redux/es/index.js
Module not found: Error: Can't resolve './components/Provider' in '/home/.../frontend/src/node_modules/react-redux/es'
@ ./node_modules/react-redux/es/index.js 1:0-45 12:0-179
@ ./index.tsx
ERROR in ./node_modules/react-redux/es/index.js
Module not found: Error: Can't resolve './components/connectAdvanced' in '/home/.../frontend/src/node_modules/react-redux/es'
@ ./node_modules/react-redux/es/index.js 2:0-59 12:0-179
@ ./index.tsx
ERROR in ./node_modules/react-redux/es/index.js
Module not found: Error: Can't resolve './connect/connect' in '/home/.../frontend/src/node_modules/react-redux/es'
@ ./node_modules/react-redux/es/index.js 4:0-40 12:0-179
@ ./index.tsx
ERROR in ./node_modules/react-redux/es/index.js
Module not found: Error: Can't resolve './hooks/useDispatch' in '/home/.../frontend/src/node_modules/react-redux/es'
@ ./node_modules/react-redux/es/index.js 5:0-70 12:0-179 12:0-179
@ ./index.tsx
ERROR in ./node_modules/react-redux/es/index.js
Module not found: Error: Can't resolve './hooks/useSelector' in '/home/.../frontend/src/node_modules/react-redux/es'
@ ./node_modules/react-redux/es/index.js 6:0-70 12:0-179 12:0-179
@ ./index.tsx
ERROR in ./node_modules/react-redux/es/index.js
Module not found: Error: Can't resolve './hooks/useStore' in '/home/.../frontend/src/node_modules/react-redux/es'
@ ./node_modules/react-redux/es/index.js 7:0-61 12:0-179 12:0-179
@ ./index.tsx
ERROR in ./node_modules/react-redux/es/index.js
Module not found: Error: Can't resolve './utils/batch' in '/home/.../frontend/src/node_modules/react-redux/es'
@ ./node_modules/react-redux/es/index.js 8:0-41 11:0-8
@ ./index.tsx
ERROR in ./node_modules/react-redux/es/index.js
Module not found: Error: Can't resolve './utils/reactBatchedUpdates' in '/home/.../frontend/src/node_modules/react-redux/es'
@ ./node_modules/react-redux/es/index.js 9:0-79 11:9-14 12:0-179
@ ./index.tsx
ERROR in ./node_modules/react-redux/es/index.js
Module not found: Error: Can't resolve './utils/shallowEqual' in '/home/.../frontend/src/node_modules/react-redux/es'
@ ./node_modules/react-redux/es/index.js 10:0-48 12:0-179
@ ./index.tsx
任何人不知道如何解决此问题吗?可能是因为我在redux之前安装了react-redux吗?如果是这样,我该如何解决。我已经尝试删除package-lock.json
并删除node_modules
并重新运行npm install
。我还深入研究了文件系统,发现文件系统上存在无法解析的模块。例如,即使webpack无法解析./components/Provider
,文件node_modules/react-redux/es/Provider.js
仍然存在并且看起来不错。
这是package.json
的相关部分。是版本不匹配还是什么?
"devDependencies": {
"@types/classnames": "^2.2.9",
"@types/react": "^16.9.9",
"@types/react-dom": "^16.9.1",
"@types/react-redux": "^7.1.5",
"@types/redux": "^3.6.0",
"@typescript-eslint/eslint-plugin": "^2.4.0",
"@typescript-eslint/parser": "^2.4.0",
"eslint": "^6.5.1",
"eslint-config-airbnb": "^18.0.1",
"eslint-import-resolver-typescript": "^2.0.0",
"eslint-plugin-import": "^2.18.2",
"eslint-plugin-jsx-a11y": "^6.2.3",
"eslint-plugin-react": "^7.16.0",
"eslint-plugin-react-hooks": "^1.7.0",
"prop-types": "^15.7.2",
"react": "^16.10.2",
"react-dom": "^16.10.2",
"react-redux": "^7.1.1",
"redux": "^4.0.4",
"source-map-loader": "^0.2.4",
"ts-loader": "^6.2.0",
"typescript": "^3.6.4",
"typescript-eslint": "0.0.1-alpha.0",
"webpack": "^4.41.0",
"webpack-cli": "^3.3.9"
},
"dependencies": {}
答案 0 :(得分:2)
太棒了,我终于可以使用它了!最后的窍门是删除整个项目文件夹,然后从GitHub重新安装它。已安装的node_modules
肯定有问题,甚至rm -rf
也无法解决。
编辑:我撒了谎。显然,当我删除该项目并从GitHub重新加载该项目时,我不小心将提交添加到了Redux的所有内容中,并在将其重新带回时又返回了错误。 精算发生的是我的webpack.config.js
文件中的错误:
我曾经是"extensions": [".ts", ".tsx"]
我需要的是"extensions": [".ts", ".tsx", ".js"]
因此,即使存在JS文件,Webpack仍然忽略了它们,因为配置文件中缺少".js"
扩展名。添加这四个字符可解决此问题。这样就结束了长达数小时的调试会话。希望这可以帮助其他愚蠢的人搞砸他们的Webpack配置,然后尝试使用它来加载React-Redux。