繁体   English   中英

Razzle-在构建文件夹中运行server.js时未找到React错误

[英]Razzle - React not found Error on running server.js in build folder

我将Razzle用于服务器端呈现的react应用程序。

现在是时候在服务器上部署应用程序了。 我使用IIS作为Web服务器。 但是,当我将构建文件夹移动到另一个目录并在其上运行节点服务器时,出现了一些错误,我找不到我在应用程序中使用的模块,例如react。

internal/modules/cjs/loader.js:638
    throw err;
    ^
Error: Cannot find module 'react'
...

我应该将node_modules文件夹与build文件夹一起移动吗? 还是我做错了什么?

您需要将node_modules和build文件夹一起移动。 因为build文件夹中的server.js和bundle文件需要您已安装的模块。 发生上述错误是因为服务器找不到react模块。

由于没有人回答我的问题。 我分享我发现的东西。

Razzle使用webpack-node-externals在构建时排除node_modules。 (我不知道为什么)

对razzle.config.js进行简单更改即可解决此问题。

module.exports = {
    modify: (config, { target, dev }, webpack) => {
      if (target === "node") {
        config.externals = []    
      }
      return config;
    },
  };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM