2017-02-21 9 views
2

Angular2を使用して作成されたWebサイトに問題があります。 Angular CLIを使用してフレームワークを構築しました。私はローカルマシン上でそれを完全にテストしており、完全に動作します。ポート4200で "ng serve"ホストを使用すると、ページ全体がロードされ、機能するはずです。すべての私の文書はts lintも渡します。私は "ng lint"を実行し、警告もエラーも受け取りませんでした。EC2サーバーでng serveが機能しない

ただし、サーバーにアップロードすると「ng serve」は機能しません。私のサーバーはAmazon Web Services(AWS)経由でEC2ノード上に作成されたBitnamiイメージです.I nodejs、npm、Angular CLIをサーバーにインストールし、バージョンが最新であることを確認しました。それらのすべてがあります。

Environment configuration does not contain "environmentSource" entry. 

A new environmentSource entry replaces the previous source entry inside environments. 

    To migrate angular-cli.json follow the example below: 

    Before: 

    "environments": { 
     "source": "environments/environment.ts", 
     "dev": "environments/environment.ts", 
     "prod": "environments/environment.prod.ts" 
    } 


    After: 

    "environmentSource": "environments/environment.ts", 
    "environments": { 
     "dev": "environments/environment.ts", 
     "prod": "environments/environment.prod.ts" 

私は「後:」を反映するために私の角度-cli.jsonを変更:セクションを、コマンドを「NGが仕える」走った私は、最初のコマンドを「NG仕える」私はこのエラーを得た試みた

再び。 (私はそれが問題だとは思わないが、それは関連情報だと思った)。

ERROR in ./src/main.ts 
Module build failed: TypeError: Cannot read property 'newLine' of undefined 
    at Object.getNewLineCharacter (/opt/bitnami/apache2/htdocs/Logan/ProjX-Eng316/node_modules/typescript/lib/typescript.js:8062:20) 
    at Object.createCompilerHost (/opt/bitnami/apache2/htdocs/Logan/ProjX-Eng316/node_modules/typescript/lib/typescript.js:44978:26) 
    at Object.ngcLoader (/opt/bitnami/apache2/htdocs/Logan/ProjX-Eng316/node_modules/@ngtools/webpack/src/loader.js:350:33) 
@ multi webpack-dev-server/client?http://localhost:4200/ ./src/main.ts 

ERROR in ./src/polyfills.ts 
Module build failed: TypeError: Cannot read property 'newLine' of undefined 
    at Object.getNewLineCharacter (/opt/bitnami/apache2/htdocs/Logan/ProjX-Eng316/node_modules/typescript/lib/typescript.js:8062:20) 
    at Object.createCompilerHost (/opt/bitnami/apache2/htdocs/Logan/ProjX-Eng316/node_modules/typescript/lib/typescript.js:44978:26) 
    at Object.ngcLoader (/opt/bitnami/apache2/htdocs/Logan/ProjX-Eng316/node_modules/@ngtools/webpack/src/loader.js:350:33) 
@ multi ./src/polyfills.ts 

は、私の知る限り、私のmain.tsと私polyfill.tsファイルの両方でいくつかの改行文字があります:

現在の誤差はこれです。私はそれらを見て、何も見つけませんでした。私はどちらのファイルも変更しなかった。これらのファイルは角張った角度で生成されたもので、私自身で修正するのに十分なほど快適ではありません。

これらのエラーを解決するにはどうすればよいですか?パッケージを更新する必要がありますか?ポリフィルとメインのタイスクリプトファイルを変更する必要はありますか?あなたがそれらを目を通す必要がある場合はここで

は、それらのファイルです:

main.ts:

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 
import { enableProdMode } from '@angular/core'; 
import { environment } from './environments/environment'; 
import { AppModule } from './app/app.module'; 

if (environment.production) { 
    enableProdMode(); 
} 

platformBrowserDynamic().bootstrapModule(AppModule); 

polyfills.ts:助けを

// This file includes polyfills needed by Angular and is loaded before the app. 
    // You can add your own extra polyfills to this file. 
    import 'core-js/es6/symbol'; 
    import 'core-js/es6/object'; 
    import 'core-js/es6/function'; 
    import 'core-js/es6/parse-int'; 
    import 'core-js/es6/parse-float'; 
    import 'core-js/es6/number'; 
    import 'core-js/es6/math'; 
    import 'core-js/es6/string'; 
    import 'core-js/es6/date'; 
    import 'core-js/es6/array'; 
    import 'core-js/es6/regexp'; 
    import 'core-js/es6/map'; 
    import 'core-js/es6/set'; 
    import 'core-js/es6/reflect'; 

    import 'core-js/es7/reflect'; 
    import 'zone.js/dist/zone'; 

    // If you need to support the browsers/features below, uncomment the import 
    // and run `npm install import-name-here'; 
    // Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html 

    // Needed for: IE9 
    // import 'classlist.js'; 

    // Animations 
    // Needed for: All but Chrome and Firefox, Not supported in IE9 
    // import 'web-animations-js'; 

    // Date, currency, decimal and percent pipes 
    // Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10 
    // import 'intl'; 

    // NgClass on SVG elements 
    // Needed for: IE10, IE11 
    // import 'classlist.js'; 

ありがとう!

+0

NGは、開発用ウェブサーバーで機能します。本番環境では使用しないでください。 'ng build [--prod]'を使い、distディレクトリに生成された静的ファイルを提供するために本物の実動ウェブサーバを使用します。バックエンドがノードに書かれていない限り、ノードは必要ありません.npmとangular-cliはサーバー上にあります。 –

+0

ありがとう、私はそれのためのNGビルドを使用します。しかし、私はまだこのサーバーを開発目的で使用しています。私は本当にその目的のためにng serveを使用できるようにしたいと思います。 –

+0

私は同じ問題に直面しましたが、グローバルかつローカルでangular-cliをアップグレードすることで解決しました。 –

答えて

3

Rj-sの溶液が私のために働いた。グローバルにインストールするにはnpm install -g @angular/cliを実行し、次にローカルにインストールするにはnpm install @angular/cliを実行します。それはあなたが古いangular-cliパッケージをもう参照していないことを確認した後です。

+0

申し訳ありませんが私は答えとしてこれを選択する時間がかかりました。私はグローバルな再インストールを試みましたが、ローカルインストールを試したことはありませんでした。それが私の問題を解決しました。ありがとう! –

+0

私はangle-cli lineを削除しました。パッケージはすでに最新のangular/cliを参照していました – Nazeel

9

上記のエラーが引き続き発生する場合は、次のように試してください。

オープンアンギュラcli.json 検索 -

"environments": { "source": "environments/environment.ts", "dev": "environments/environment.ts", "prod": "environments/environment.prod.ts" }

とで置き換える:

"environmentSource": "environments/environment.ts", "environments": { "dev": "environments/environment.ts", "prod": "environments/environment.prod.ts" }

+1

これは私にとってうまくいきます。 –

+0

私はそれが助けてくれると嬉しいです。 :) –

関連する問題