如何托管reactJS应用程序

时间:2018-09-05 19:16:53

标签: reactjs amazon-s3 deployment

我假设我应该能够将我的reactJS部署到AWS上的S3实例,但是我不知道该怎么做。我在github上找到了publish-react-app,我正在尝试遵循这些步骤。当我执行npm run build时,出现以下错误流:

c:\jrs\PM_01\React>npm run build
npm ERR! missing script: build

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\jonat\AppData\Roaming\npm-cache\_logs\2018-09-05T18_57_19_811Z-debug.log

c:\jrs\PM_01\React>npm run build

> sample-app@1.0.0 build c:\jrs\PM_01\React
> react-scripts build

'react-scripts' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! sample-app@1.0.0 build: `react-scripts build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the sample-app@1.0.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\jonat\AppData\Roaming\npm-cache\_logs\2018-09-05T19_06_24_048Z-debug.log

我不知道需要在package.json文件的scrips部分中放入什么。这是我的package.json文件的样子:

{
  "name": "sample-app",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "webpack-dev-server --open"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.25.0",
    "babel-loader": "^7.0.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "babel-preset-stage-2": "^6.24.1",
    "css-loader": "^1.0.0",
    "style-loader": "^0.21.0",
    "webpack": "^2.6.1",
    "webpack-dev-server": "^2.4.5"
  },
  "dependencies": {
    "cors": "^2.8.4",
    "ebay-node-api": "^2.2.1",
    "moment": "^2.20.1",
    "moment-timezone": "^0.5.14",
    "publish-react-app": "^1.0.1",
    "react": "^15.6.2",
    "react-barcode": "^1.3.4",
    "react-dom": "^15.6.2",
    "react-moment": "^0.7.0",
    "react-redux": "^5.0.5",
    "react-router-dom": "^4.1.1",
    "redux": "^3.7.0",
    "reselect": "^3.0.1",
    "simple-flexbox": "^1.2.0"
  },
  "babel": {
    "presets": [
      [
        "es2015",
        {
          "modules": false
        }
      ],
      "stage-2",
      "react"
    ]
  }
}

我在AWS上创建了一个免费的S3层,并创建了一个用户和一个存储桶,但是我真的不知道该怎么做才能部署我的应用程序。

谢谢。

1 个答案:

答案 0 :(得分:0)

您的package.json缺少密钥build。通常,使用诸如create-react-app之类的工具时,它会附带一个构建脚本来为生产准备资产。至于托管,Heroku非常容易启动和运行。