【问题标题】:Error: Cannot resolve module 'module' in path/.../rewire/lib错误:无法解析路径/.../rewire/lib 中的模块“模块”
【发布时间】:2015-09-03 19:24:34
【问题描述】:

我在我的 React/Flux 应用程序中使用 require 之前的 rewire 方法来加载组件。但安装后出现此错误:

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

在谷歌搜索时,我发现了类似的问题,但没有理想的解决方案。有谁知道问题或冲突是什么以及如何解决?

【问题讨论】:

    标签: reactjs flux


    【解决方案1】:

    这是一个 webpack 问题。

    由于您尝试使用 rewire,我假设您计划通过 NodeJS 而不是浏览器运行测试。否则,请查看rewire-webpack

    Rewire 需要一个 NodeJS 环境,但默认情况下 webpack 以浏览器环境为目标,因此不知道 rewire 可能依赖的标准 NodeJS 模块。

    您需要将 webpack 配置的 target 属性设置为 "node" 以便让 webpack 知道它应该将标准 NodeJS 模块视为外部。

    【讨论】:

    • 谢谢@Morhaus,你是对的。我没有设置target,而是使用rewire-webpack,效果很好
    猜你喜欢
    • 2017-03-31
    • 2018-10-28
    • 2021-10-16
    • 2018-01-20
    • 2017-10-08
    • 2017-10-13
    • 2021-11-10
    • 1970-01-01
    • 2022-11-09
    相关资源
    最近更新 更多