【问题标题】:How to set up dev and API server from create-react-app?如何从 create-react-app 设置开发和 API 服务器?
【发布时间】:2018-04-05 03:40:54
【问题描述】:

我使用create-react-app 启动了一个新应用程序,然后退出了该应用程序。我做了一个小型快递服务器如下:

const express = require('express');
const app = express();

if(process.env.NODE_ENV === 'production') {
  app.use(express.static('build'));
}

const port = process.env.PORT || 3000;

app.listen(port, () => {
  console.log(`Server started at: http://localhost:${port}/`);
});

package.json 中我添加了一行"proxy": http://localhost:3000", 以及切换命令:

"scripts": {
    "run": "npm-run-all -p watch-css start-js",
    "start": "node server.js",
  },

run 曾经是start

当然,现在当我运行 npm start 并转到 localhost:3000 时,我得到了 Cannot GET /。我需要这台服务器来接收和返回我将从我的应用程序进行的本地 API 调用,但我也希望它像旧的 npm start(现在的 npm run)命令一样运行热重载开发服务器。我该怎么做?

【问题讨论】:

    标签: node.js express webpack webpack-dev-server


    【解决方案1】:

    前段时间我做了一个 fork 的 create-react-app 存储库添加 webpack 监视选项,因为同样的原因。它可能会对你有所帮助。

    只是为了添加更多信息,我真的花时间研究如何让 webpackdevserver 构建“bundle.js”,发现这是不可能的,因为它将捆绑包加载到内存中但不会持久化,所以该文件永远不会创建。唯一可用的方法是 webpack watch 选项,但是我不明白为什么 create-react-app 团队不能将它添加到 repo,这是一个真正需要的功能,而且解决这个问题的分支比我的多.所以,你有三个选择:

    1. 使用 package.json 中的代理服务器(如果可以的话)
    2. 制作自己的 fork 并添加 watch 选项,或使用现有的选项
    3. 不要使用 create-react-app

    【讨论】:

      猜你喜欢
      • 2019-12-09
      • 1970-01-01
      • 2017-09-02
      • 2022-06-28
      • 1970-01-01
      • 2018-07-16
      • 2017-11-22
      • 2023-04-08
      • 2018-01-30
      相关资源
      最近更新 更多