我在React / Flux应用中使用rewire
方法之前的require
来加载组件。但安装后我得到了这个错误:
ERROR in ./~/rewire/lib/rewire.js
Module not found: Error: Cannot resolve module 'module' in /Users/path/node_modules/rewire/lib
@ ./~/rewire/lib/rewire.js 1:13-30
ERROR in ./~/rewire/lib/rewire.js
Module not found: Error: Cannot resolve module 'fs' in /Users/path/node_modules/rewire/lib
@ ./~/rewire/lib/rewire.js 2:9-22
ERROR in ./~/rewire/lib/moduleEnv.js
Module not found: Error: Cannot resolve module 'module' in /Users/path/node_modules/rewire/lib
@ ./~/rewire/lib/moduleEnv.js 3:13-30
ERROR in ./~/rewire/lib/moduleEnv.js
Module not found: Error: Cannot resolve module 'fs' in /Users/path/node_modules/rewire/lib
@ ./~/rewire/lib/moduleEnv.js 4:9-22
谷歌搜索时我发现了类似的问题,但没有理想的解决方案。有谁知道什么是问题或冲突以及如何解决它?
答案 0 :(得分:2)
这是一个webpack问题。
由于您尝试使用重新连接,我假设您计划通过NodeJS而不是浏览器运行测试。否则,请查看rewire-webpack。
Rewire期望一个NodeJS环境,但默认情况下webpack以浏览器环境为目标,因此不知道重新连接可能依赖的标准NodeJS模块。
您需要将webpack配置的target
属性设置为"node"
,以便让webpack知道它应该将标准NodeJS模块视为外部。