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报错解决方法