Error: Cannot resolve module 'module' in path/.../rewire/lib
Error: Cannot resolve module 'module' in path/.../rewire/lib
我在我的 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
在谷歌搜索时我发现了类似的问题,但没有理想的解决方案。有谁知道问题或冲突是什么以及如何解决?
这是一个 webpack 问题。
由于您正在尝试使用 rewire,我假设您计划 运行 通过 NodeJS 而不是浏览器进行测试。否则,查看 rewire-webpack.
Rewire 需要一个 NodeJS 环境,但默认情况下 webpack 以浏览器环境为目标,因此不知道 rewire 可能依赖的标准 NodeJS 模块。
您需要将 webpack 配置的 target
属性 设置为 "node"
以便让 webpack 知道它应该将标准 NodeJS 模块视为外部模块。
我在我的 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
在谷歌搜索时我发现了类似的问题,但没有理想的解决方案。有谁知道问题或冲突是什么以及如何解决?
这是一个 webpack 问题。
由于您正在尝试使用 rewire,我假设您计划 运行 通过 NodeJS 而不是浏览器进行测试。否则,查看 rewire-webpack.
Rewire 需要一个 NodeJS 环境,但默认情况下 webpack 以浏览器环境为目标,因此不知道 rewire 可能依赖的标准 NodeJS 模块。
您需要将 webpack 配置的 target
属性 设置为 "node"
以便让 webpack 知道它应该将标准 NodeJS 模块视为外部模块。