首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在构建文件夹中运行server.js时未找到Razzle React错误

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

Stack Overflow用户
提问于 2019-07-18 18:54:42
回答 2查看 913关注 0票数 1

我使用Razzle作为服务器端渲染的react应用程序。

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

代码语言:javascript
运行
复制
internal/modules/cjs/loader.js:638
    throw err;
    ^
Error: Cannot find module 'react'
...

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-01 18:06:38

因为没有人回答我的问题。我分享我的发现。

在构建时使用webpack节点外部变量来排除node_modules。(我不知道为什么)

razzle.config.js中的一个简单更改就可以解决这个问题。

代码语言:javascript
运行
复制
module.exports = {
    modify: (config, { target, dev }, webpack) => {
      if (target === "node") {
        config.externals = []    
      }
      return config;
    },
  };
票数 5
EN

Stack Overflow用户

发布于 2019-08-26 22:08:21

您需要将node_modules与build文件夹一起移动。因为build文件夹中的server.js和捆绑包文件需要您已经安装的模块。出现上述错误是因为服务器找不到react模块。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57092888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档