如何在关闭终端后运行npm start for reactjs?

时间:2016-11-17 20:47:23

标签: node.js reactjs npm

我一直在使用reactjs跟踪facebook教程

我安装了npm install -g create-react-app https://www.npmjs.com/package/react-scripts并用它创建了应用

但现在我混淆了如何将我的应用程序部署到数字海洋?我知道我可以使用pm2来运行节点服务器,但我不知道npm start是如何工作的,因为它只是在package.json中运行它。

{
  "name": "hello-world",
  "version": "0.1.0",
  "private": true,
  "devDependencies": {
    "react-scripts": "0.7.0"
  },
  "dependencies": {
    "babel-preset-es2015": "^6.18.0",
    "babel-preset-react": "^6.16.0",
    "express": "^4.14.0",
    "mongoose": "^4.6.8",
    "react": "^15.3.2",
    "react-dom": "^15.3.2"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
}

"start": "react-scripts start"实际上是从那里开始的?

另外,它说要构建您的应用以进行部署以使用npm run build,它只是为我提供了一个名为build的文件夹,但我找不到任何可以运行node的内容

1 个答案:

答案 0 :(得分:2)

我建议阅读User Guide,因为它可以解答许多常见问题。

npm start启动开发服务器。它只对开发很有用,所以你永远不要在生产中使用它。这将在其输出中打印出来。

npm run build生成一个包含HTML,CSS和JS文件的静态build文件夹。您不需要Node来运行它。这是静态的。要提供服务,您需要使用任何静态文件服务器。您可以使用Node,Python,Nginx或任何可以提供静态文件的文件服务器来执行此操作。这也应该打印在命令的输出中。

部署说明因您的托管服务提供商而异,但基本上您需要提供服务器根目录的build输出,并且您需要进行设置。如果您使用客户端路由,您还需要将您的网络服务器配置为index.html作为任何路径的后备服务。

用户指南包含针对不同提供商的特定部署说明,因此请将其检出。