私は今ローカルマシン上でcreate-react-app
と少し遊んでいます。私はec2
インスタンスで実行している基本express
アプリケーションも作成していますので、create-react-app
ベースのプロジェクトをec2
にプッシュしてビルドを提供したかったのです。関心のある2つのコマンドは、npm run start
とnpm run build
です。ec2で作成するcreate-react-app
残念なことに、npm start
(実際にはコマンドを実行するためには「実行」は必要ありません)を実行すると、ec2で大量のエラーが発生します。
[[email protected] ab-site-2017-summer]$ npm start
> [email protected] start /home/ec2-user/ab-site-2017-summer
> react-scripts start
/home/ec2-user/ab-site-2017-summer/node_modules/react-scripts/scripts/start.js:33
const {
^
SyntaxError: Unexpected token {
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:373:25)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:139:18)
at node.js:968:3
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `react-scripts start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start 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! /home/ec2-user/.npm/_logs/2017-06-26T03_51_22_790Z-debug.log
ノート:npm install
は「ec2
にこのプロジェクトのためにnode_modules
をINGのときに私はいくつかの問題に気づかなかったという。私の基本的なアプローチが正しいかどうかは100%ではありません。私の目標はdist
アセットをnpm build
で作成し、index.html
ファイルを私のドメインのインデックスルートに提供するように私のexpress
アプリケーションを指定することです。私のフロントエンドは、react-router
を通して、そこからすべてのUIとフロントエンドルーティングを処理する必要があります。
実行しているnpm/nodeのバージョンは何ですか?それは、ES6の破壊構文について不平を言っているように見えます... –
事は、create-react-appは、babelとwebpackを使用してすべての方法を抽象化することになっています。 'node -v v4.4.5'' npm -v 5.0.3' –
はい、create-react-appは、開発者のためにこれらのツールの設定を抽象化しますが、それでも環境をサポートする必要があります。 https://node.greenを見ると、ES6の構造化機能は6.4.0までサポートされていません。EC2インスタンスで稼動しているノードをアップグレードする必要があります –