就在昨天我的代码工作正常,没有对应用程序模块进行任何更改,今天使用“ng build --prod”时出现此错误。我知道它与变化无关,当我拉老分支时,我得到同样的错误。我不知道该怎么做,建议更新每个包,但即使我仍然得到相同的错误。甚至不确定你们是否可以提供帮助,但这是我的app.module:
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {FormsModule} from '@angular/forms';
import {HttpModule} from '@angular/http';
import {AppComponent} from './app.component';
import {LoginComponent} from './login/login.component';
import {CompareComponent} from './compare/compare.component';
import {RouterModule} from "@angular/router";
import {CompareCardComponent} from './compare/compare-card/compare-card.component';
import {LayoutComponent} from './layout/layout.component';
import {CompareValuePipe} from "./compare/compare-card/compare-card.pipe";
import {HomeComponent} from './home/home.component';
import {NewLocationComponent} from './new-location/new-location.component';
import {SignupComponent} from './signup/signup.component';
import {ValidateMe} from "./shared/me.suite/validate.me/validate.me";
import {TagsComponent} from './tags/tags.component';
import {GoogleplaceDirective} from './third-party/angular2-google-map-auto-complete/directives/googleplace.directive';
import { LoaderComponent } from './shared/loader/loader.component';
import { AlertComponent } from './shared/alert/alert.component';
import {Angulartics2GoogleAnalytics, Angulartics2Module} from "angulartics2";
import { OverallPipe } from './compare/overall.pipe';
import {InteractiveComponent} from "./question/interactive/interactive.component";
import { FormComponent } from './question/form/form.component';
import { KpiDescComponent } from './compare/kpi-desc/kpi-desc.component';
import {HashLocationStrategy, Location, LocationStrategy} from "@angular/common";
import {AccountApi} from "./services/account-api.service";
import {SettingsApi} from "./services/settings-api.service";
import {DataApi} from "./services/data-api.service";
import { ZeezorInfoComponent } from './zeezor-info/zeezor-info.component';
const ROUTES = [
{path: '', redirectTo: '/home', pathMatch: 'full'},
{path: 'compare', component: CompareComponent},
{path: 'new', component: NewLocationComponent},
{path: 'tags', component: TagsComponent},
{path: 'interactive', component: InteractiveComponent},
{path: 'form', component: FormComponent},
{path: 'login', component: LoginComponent},
{path: 'signup', component: SignupComponent},
{path: 'home', component: HomeComponent},
{path: '**', component: HomeComponent}
];
@NgModule({
declarations: [
LayoutComponent,
AppComponent,
LoginComponent,
CompareComponent,
CompareCardComponent,
CompareValuePipe,
InteractiveComponent,
HomeComponent,
NewLocationComponent,
SignupComponent,
ValidateMe,
TagsComponent,
GoogleplaceDirective,
LoaderComponent,
AlertComponent,
OverallPipe,
FormComponent,
KpiDescComponent,
ZeezorInfoComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule.forRoot(ROUTES),
Angulartics2Module.forRoot([ Angulartics2GoogleAnalytics ])
],
providers: [AccountApi, DataApi, SettingsApi, Location, {provide: LocationStrategy, useClass: HashLocationStrategy}],
bootstrap: [AppComponent]
})
export class AppModule {
constructor(){
let style = document.createElement('link');
style.rel = "stylesheet";
style.href = SettingsApi.styleEndpoint;
window.document.head.appendChild(style);
console.log(navigator.userAgent);
}
}
的package.json
{
"name": "stack-up",
"version": "0.0.0",
"license": "MIT",
"angular-cli": {},
"scripts": {
"ng": "ng",
"start": "ng serve",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"compile": "ng build --environment=mobile --output-path ../mobile/www/",
"compile:prod": "ng build --environment=mobile --target=production --output-path ../mobile/www/",
"docker": "ng build --environment=docker",
"local": "ng serve --environment=local",
"dev": "ng build --environment=dev",
"prod": "ng build --environment=prod --target=production --output-path /var/www/html/"
},
"private": true,
"dependencies": {
"@angular/common": "^2.4.0",
"@angular/compiler": "^2.4.0",
"@angular/core": "^2.4.0",
"@angular/forms": "^2.4.0",
"@angular/http": "^2.4.0",
"@angular/platform-browser": "^2.4.0",
"@angular/platform-browser-dynamic": "^2.4.0",
"@angular/router": "^3.4.0",
"angular2-jwt": "^0.2.2",
"angular2-social-login": "^2.1.0",
"angulartics2": "^2.2.1",
"core-js": "^2.4.1",
"rxjs": "^5.0.1",
"ts-helpers": "^1.1.1",
"tslint": "^3.15.1",
"zone.js": "^0.7.2"
},
"devDependencies": {
"@angular/cli": "1.0.0-beta.31",
"@angular/compiler-cli": "^2.4.0",
"@types/jasmine": "2.5.38",
"@types/node": "^6.0.42",
"codelyzer": "~2.0.0-beta.1",
"jasmine-core": "2.5.2",
"jasmine-spec-reporter": "2.5.0",
"karma": "1.2.0",
"karma-chrome-launcher": "^2.0.0",
"karma-cli": "^1.0.1",
"karma-jasmine": "^1.0.2",
"karma-coverage-istanbul-reporter": "^0.2.0",
"protractor": "~5.1.0",
"ts-node": "1.2.1",
"tslint": "^4.3.0",
"typescript": "~2.0.0"
}
}
答案 0 :(得分:4)
昨天我遇到了类似的问题(同样的错误信息),我根据这个angular-cli问题修复了它:
https://github.com/angular/angular-cli/issues/7125
修复是在我的package.json中将enhanced-resolve
固定到版本3.3.0
,删除node_modules,运行npm install
,然后再次构建。这似乎解决了问题线程中一些人的问题。
更新版本的enhanced-resolve似乎造成了一些问题。
如果仍然中断,请运行npm ls enhanced-resolve
确保您拥有正确的增强型解析版本。
答案 1 :(得分:4)
对于遇到这种情况的其他人来说,angular-cli
和angular
的旧版本存在不确定性。 Source
要解决此问题,请将angular-cli
升级为@latest
。
npm uninstall -g angular-cli npm cache clean npm install -g @angular/cli@latest
根据您的系统,您可能需要为上述命令添加前缀 与sudo。
此外,您很可能还想更新本地项目版本, 因为在项目目录中,它将被选择为更高 优先于全球优先:
rm -rf node_modules npm uninstall --save-dev angular-cli npm install --save-dev @angular/cli@latest npm install
答案 2 :(得分:0)
如果您不想使用@latest angular-cli,请至少将@ angular-cli更新为v1.2.6。它现在解决了问题,你不需要安装增强解析等等。 https://github.com/angular/angular-cli/issues/7113
答案 3 :(得分:0)
答案 4 :(得分:0)
我今天刚遇到这个问题。我尝试运行命令:
ng build --env = prod而不是ng build --prod,似乎已经解决了它,而未在package.json中添加增强解析。