【问题标题】:Deploy react app to AWS with pm2使用 pm2 将 react 应用程序部署到 AWS
【发布时间】:2018-09-07 17:22:20
【问题描述】:

我正在尝试按照本教程 https://medium.com/@sgobinda007/setting-up-react-redux-application-for-production-and-hosting-in-aws-ec2-8bbb8bf3c643 将 React 应用程序部署到 AWS,我的应用程序略有不同,当我运行 pm2 start ecosystem.config.js --env production 时,我得到应用程序状态为在线,但在 pm2 show 上,状态错误并显示以下输出: /home/ubuntu/www/react/tools/distServer.js:4 import browserSync from 'browser-sync'; ^^^^^^ | | SyntaxError: Unexpected token import 我的生态系统.config.js 文件如下所示:

module.exports = {
  apps : [
      {
        name: "blockchainwallet",
        script: "tools/distServer.js",
        watch: true,
        env: {
            "PORT": 8080,
            "NODE_ENV": "development"
        },
        env_production: {
            "PORT": 3000,
            "NODE_ENV": "production",
        }
      }
  ]
}

您能给我一些建议来修复这个错误吗?

【问题讨论】:

    标签: reactjs amazon-web-services pm2


    【解决方案1】:

    检查您的 webpack 配置和环境的节点版本,因为您提到的错误是不支持 ES6 语法的常见错误。

    import在ES6中使用,必须在ES5中使用require

    【讨论】:

    • 我的节点版本是 8.10.0,这是我的 github github.com/scaniusin/reacwithapi 找不到它提到的语法版本。
    • 在 'tools' 目录下,在 'distServer.js' 中尝试将所有导入从语法更改为需要语法(包括破坏 chalkConfig)让我知道是否可以解决该问题
    • 是的,使用 require 是有效的,但你能帮我理解为什么,因为在我的本地机器上一切正常吗?
    • Node 的版本取决于您在其中部署代码的机器...您的计算机具有最新的节点版本之一(包括 ES6 语法),但 Amazon 服务器可能正在使用更稳定的(较旧) 不支持 ES6 的 Node 版本
    猜你喜欢
    • 2018-07-07
    • 1970-01-01
    • 2017-05-06
    • 1970-01-01
    • 2020-08-26
    • 2014-11-11
    • 2014-04-25
    • 2018-07-13
    • 1970-01-01
    相关资源
    最近更新 更多