Angular2를 사용하여 만든 웹 사이트에 문제가 있습니다. Angular CLI로 프레임 워크를 구축했습니다. 필자는 로컬 시스템에서이를 철저히 테스트했으며 완벽하게 작동합니다. 포트 4200에서 "ng serve"호스트를 선택하면 전체 페이지가로드되고 작동합니다. 내 모든 문서는 보푸라기도 통과합니다. 나는 "린트"를 실행하고 경고 나 오류를받지 못했습니다.EC2 서버에서 서브가 작동하지 않음
그러나 내 서버에 업로드하면 "ng serve"가 작동하지 않습니다. 내 서버는 Amazon Web Services (AWS)를 통해 EC2 노드에서 생성 된 Bitnami 이미지입니다. nodejs, npm 및 Angular CLI를 서버에 설치하고 버전이 최신 버전인지 확인했습니다. 모두 다.
내가 처음 명령이 나는이 오류가있어 "NG 봉사"시도 :
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 봉사"실행을 명령 다시. (나는 그것이 문제라고 생각하지 않지만 관련 정보라고 생각했다).
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 파일 모두에서 일부 개행 문자가 :
현재 오류가 이것이다. 나는 그들을 보았고 아무것도 발견하지 못했다. 나는 어느 쪽의 파일도 바꾸지 않았다. 이 파일들은 각진 cli에 의해 생성되었으며 나는 스스로 수정하기에 충분히 편하지 않았습니다.
어떻게 이러한 오류를 해결할 수 있습니까? 패키지를 업데이트해야합니까? 내 polyfill 및 주요 타이프 스크립트 파일을 변경해야합니까? 당신이 그들을 살펴해야하는 경우 여기
그 파일은 다음과 같습니다
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';
감사합니다!
NG 봉사는 개발 웹 서버입니다. 프로덕션 환경에서는 사용하지 않아야합니다. 'ng build [--prod]'를 사용하고 실제 웹 서버를 사용하여 dist 디렉토리에서 생성 된 정적 파일을 제공하십시오. 노드 (백엔드가 노드에 쓰여 있지 않은 경우), 서버의 npm 및 angular-cli는 필요하지 않습니다. –
고마워, 그걸 위해 ng build를 사용할 것이다. 그러나, 나는 때때로이 서버를 개발 목적으로 사용합니다. 나는 그 목적을 위해 서브를 사용할 수 있기를 정말로 원합니다. –
동일한 문제에 직면했지만 전 세계적으로 각도 복제를 업그레이드하여 해결되었습니다. –