2017-10-19 1 views
0

IIS에서 Angular 응용 프로그램을 호스팅하고 cli 명령을 사용하여 빌드를 많이 읽으려고합니다. 오류가 발생했습니다 모듈을 찾을 수 없습니다. 구성 요소에서 templateUrl을 변경하면 오류가 사라지지만 응용 프로그램이 실패합니다. 내 응용 프로그램에서 더 .angular-cli.json 파일을 없었다 태초에 각도 응용 프로그램을 빌드하고 IIS에 게시하십시오.

templateUrl: 'app/account/login.component.html'   (not building) 
templateUrl: 'login.component.html'   (building, but app fails with unknown path) 

그래서 난 그냥 수동으로 하나를 추가했다.

{ 
"$schema": "./node_modules/@angular/cli/lib/config/schema.json", 
"project": { 
"name": "buildingprojects" 
}, 
"apps": [ 
{ 
    "root": "src", 
    "outDir": "dist", 
    "assets": [ 
    "assets", 
    "favicon.ico" 
    ], 
    "index": "index.html", 
    "main": "main.ts", 
    "polyfills": "polyfills.ts", 
    "test": "test.ts", 
    "tsconfig": "tsconfig.json", 
    "testTsconfig": "tsconfig.json", 
    "prefix": "app", 
    "styles": [ 
    "styles.css" 
    ], 
    "scripts": [], 
    "environmentSource": "environments/environment.ts", 
    "environments": { 
    "dev": "environments/environment.ts", 
    "prod": "environments/environment.prod.ts" 
    } 
} 
], 
"e2e": { 
"protractor": { 
    "config": "./protractor.conf.js" 
} 
}, 
"lint": [ 
{ 
    "project": "src/tsconfig.app.json", 
    "exclude": "**/node_modules/**" 
}, 
{ 
    "project": "src/tsconfig.spec.json", 
    "exclude": "**/node_modules/**" 
}, 
{ 
    "project": "e2e/tsconfig.e2e.json", 
    "exclude": "**/node_modules/**" 
} 
], 
"test": { 
"karma": { 
    "config": "./karma.conf.js" 
} 
}, 
"defaults": { 
"styleExt": "css", 
"component": {} 
} 
} 

가 어떻게 각 CLI로 이동하는 방법을 보여줍니다 어디 얇은이 GUID 처음 https://github.com/angular/angular-cli/wiki/stories-moving-into-the-cli을 따라야합니다

{ 
"name": "buildingprojects", 
"version": "1.0.0", 
"author": "Nick Ausloos", 
"description": "Building Projects", 
"main": "src/index.html", 
"scripts": { 
"start": "webpack --progress --watch --config src/webpack.config.js", 
"dev": "lite-server -c bs-config.json", 
"test": "echo \"Error: no test specified\" && exit 1" 
}, 
"license": "UNLICENSED", 
"devDependencies": { 
"@angular/animations": "^4.4.4", 
"@angular/cdk": "^2.0.0-beta.11", 
"@angular/cli": "^1.4.8", 
"@angular/common": "^4.4.4", 
"@angular/compiler": "^4.4.4", 
"@angular/compiler-cli": "^4.4.6", 
"@angular/core": "^4.4.4", 
"@angular/forms": "^4.4.4", 
"@angular/http": "^4.4.4", 
"@angular/material": "^2.0.0-beta.11", 
"@angular/platform-browser": "^4.4.4", 
"@angular/platform-browser-dynamic": "^4.4.4", 
"@angular/router": "^4.4.4", 
"@ng-bootstrap/ng-bootstrap": "^1.0.0-beta.5", 
"@types/adal": "^1.0.29", 
"@types/core-js": "^0.9.43", 
"@types/jquery": "^3.2.12", 
"@types/node": "^8.0.31", 
"adal-angular": "^1.0.15", 
"angular2-template-loader": "^0.6.2", 
"awesome-typescript-loader": "^3.2.3", 
"babel-core": "^6.26.0", 
"babel-helpers": "^6.24.1", 
"babel-loader": "^7.1.2", 
"babel-preset-env": "^1.6.0", 
"bootstrap": "^3.3.7", 
"bootstrap-sass": "^3.3.7", 
"concurrently": "^3.5.0", 
"core-js": "^2.5.1", 
"css-loader": "^0.28.7", 
"expose-loader": "^0.7.3", 
"extract-text-webpack-plugin": "^3.0.0", 
"file-loader": "^1.1.4", 
"free-jqgrid": "^4.14.1", 
"html-loader": "^0.5.1", 
"html-webpack-plugin": "^2.30.1", 
"jquery": "^3.2.1", 
"jsdo": "^4.3.12", 
"lite-server": "^2.3.0", 
"loader-utils": "^1.1.0", 
"node-sass": "^4.5.3", 
"postcss": "^6.0.12", 
"postcss-cssnext": "^3.0.2", 
"postcss-loader": "^2.0.6", 
"reflect-metadata": "^0.1.10", 
"rxjs": "^5.4.3", 
"sass-loader": "^6.0.6", 
"source-map-loader": "^0.2.2", 
"style-loader": "^0.18.2", 
"tslint": "^5.7.0", 
"typescript": "^2.5.3", 
"url-loader": "^0.5.9", 
"webpack": "^3.6.0", 
"webpack-dev-server": "^2.9.1", 
"webpack-merge": "^4.1.0", 
"zone.js": "^0.8.17" 
}, 
"dependencies": { 
"@ng-bootstrap/ng-bootstrap": "^1.0.0-beta.5", 
"adal-angular": "^1.0.15", 
"expose-loader": "^0.7.3" 
} 
} 

답변

0
+0

솔루션 없음! cli로 변환하는 첫 번째 가이드 다음에 같은 오류가 있습니다. IIS에 게시하는 것은 Azure에서와 동일하지 않습니다. – NiAu

+0

디렉토리가 ng build가되어야합니다. 각도 -cli.json – Eliseo

+0

tsconfig 및 testTsconfig에 대한 내 대답을 확인하십시오. – Eliseo

0

당신이 당신의 index.html을에

<base href="./"/> 
+0

이 답변으로 해결 방법이 없습니다! 같은 오류가 계속 발생합니다. – NiAu

0

당신이이 변화를 "기본"태그를 시도 할 수 있습니다에 대해 동일한 방법 푸른에 배포하는 쇼에이 가이드를 출판 angular.json

"tsconfig": "tsconfig.json", 
"testTsconfig": "tsconfig.json", 

어쩌면?

"tsconfig": "tsconfig.app.json", 
"testTsconfig": "tsconfig.spec.json", 
0

당신이 쓴 :

를 내 응용 프로그램에서 더 .angular-cli.json 파일이 없었 처음에는 그래서 난 그냥 수동으로 하나를 추가했다.

ng new을 사용하여 응용 프로그램을 만들지 않은 것 같습니다. 하지만 ng build을 사용하려고합니다. ng new을 사용하여 처음부터 Angular CLI 응용 프로그램을 만들고 IIS에 배포를 테스트 한 다음 사용자 지정 구성 요소를 IIS에 복사하는 것이 좋습니다.

0

나는 경로를 파일 이름으로 대체하여이 문제를 해결했습니다. 이렇게하면 빌드가 성공했지만 IIS에 게시하는 솔루션이 아닙니다. webpack bundler를 사용하면 파일을 IIS 폴더에 복사하면됩니다. 유일한 문제는 구성 요소의 라우팅입니다.

관련 문제