我一直在使用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
的内容
答案 0 :(得分:2)
我建议阅读User Guide,因为它可以解答许多常见问题。
npm start
启动开发服务器。它只对开发很有用,所以你永远不要在生产中使用它。这将在其输出中打印出来。
npm run build
生成一个包含HTML,CSS和JS文件的静态build
文件夹。您不需要Node来运行它。这是静态的。要提供服务,您需要使用任何静态文件服务器。您可以使用Node,Python,Nginx或任何可以提供静态文件的文件服务器来执行此操作。这也应该打印在命令的输出中。
部署说明因您的托管服务提供商而异,但基本上您需要提供服务器根目录的build
输出,并且您需要进行设置。如果您使用客户端路由,您还需要将您的网络服务器配置为index.html
作为任何路径的后备服务。
用户指南包含针对不同提供商的特定部署说明,因此请将其检出。