create-react-app npm run start 在生产模式下。也许不可能?

Posted

技术标签:

【中文标题】create-react-app npm run start 在生产模式下。也许不可能?【英文标题】:create-react-app npm run start in production mode. Maybe not possible? 【发布时间】:2018-08-26 17:18:56 【问题描述】:

我需要像我简单的那样运行服务器:

npm run start

但我需要使用生产模式。这可能吗?

在 ember 或 Angular 中是可能的。在create-react-app怎么办?

我试过npm run start --prod,但没有。

【问题讨论】:

在反应你不能,你唯一能做的就是 npm run build 根据 create-react-app 的 github 自述文件 (github.com/facebook/create-react-app/blob/master/…),npm run build 是在生产模式下构建应用程序的命令。这是你要找的吗? 不行@sunil,我需要直接在生产模式下开发。 我有点好奇你为什么需要开发一个构建模块? @AbdeslemCharif 我想在我的开发环境中运行生产版本以进行测试和分析。对于非 CRA React,我只需更改为在生产模式下构建,就可以了。也许 OP 也想要。 【参考方案1】:

最好的选择可能是进行正常的生产构建,然后在本地运行它。 首先安装一个 HTTP 服务器:

npm install serve -g

然后:

npm run build
serve -s build

默认情况下,它将在端口 5000 上运行,因此您的本地 URL 是 http://localhost:5000

【讨论】:

【参考方案2】:

要在生产模式下为应用提供服务,您需要按照以下步骤操作

    创建一个生产版本

    npm 运行构建

    全局安装npm serve

    npm i -g 服务

    您现在可以使用静态服务器为它提供服务

    服务 -s 构建

您可以查看更多选项here。

对于生产中的开发,您可以在 react 应用程序中启用热重载而不弹出

只需 3 行代码,您就可以打开 HMR,但有一个重要警告:React 状态和 DOM 状态在重新加载之间不会保留。这有点令人失望。

您可以将这些行添加到 index.js 以打开不会在重新加载之间保留状态的标准 Webpack HMR:

if (module.hot) 
  module.hot.accept();

阅读更多关于它的信息here希望它有所帮助谢谢!

【讨论】:

【参考方案3】:

是的,您可以在服务器上运行 npm start 命令,但应该有您的 node-modules。如果 node-modules 不存在,那么您可以使用 npm install 命令获取它们。

【讨论】:

你没有理解我的问题。

以上是关于create-react-app npm run start 在生产模式下。也许不可能?的主要内容,如果未能解决你的问题,请参考以下文章

Create-react-app npm run build 太慢了

create-react-app 创建的项目执行npm run eject后,运行报错

create-react-app npm run start 在生产模式下。也许不可能?

create-react-app创建项目后,运行npm run eject报错解决方法

React中使用create-react-app创建项目,运行npm run eject建立灰度报错

反应:npm start 工作,npm run build 抛出 ELIFECYCLE 错误(errno 1)