我正在使用angular-cli构建angular2应用程序。由于angular-cli,设置项目很容易。
import { Injectable } from '@angular/core';
@Injectable()
export class MyService { }
这很有效。
我添加了路由到我的应用程序,这就是我遇到以下错误的方式。 让我说我在app-folder文件夹中添加了一个服务,让我可以使用。
/src/app/my-service.ts
import { bootstrap } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { MyProjectAppComponent, environment } from './app/';
import { MyService } from './app/my-service';
var service = new MyService();
if (environment.production) {
enableProdMode();
}
bootstrap(MyProjectAppComponent);
然后更改main.ts,以便我使用服务
/src/main.ts
> ng serve
如果我现在运行
> ng serve -prod
应用程序运行正常。 但是当我跑步时
zone.js:101 GET http://localhost:4200/app/my-service.js 404 (Not Found)
然后转到我将在my-service.ts上获得404的应用程序
import { provideRouter, RouterConfig } from '@angular/router';
import { HomeComponent } from './components/home.component';
const routes: RouterConfig = [
{ path: '', component: HomeComponent }
];
export const APP_ROUTER_PROVIDERS = [
provideRouter(routes)
];
所以这是我错误的完美再现。在开发模式下工作而不是在prod模式下工作。
我的路由需要这个,实现方式如下:
/src/app/app.routes.ts
import { bootstrap } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { AppComponent, environment } from './app/';
import { APP_ROUTER_PROVIDERS } from './app/app.routes';
if (environment.production) {
enableProdMode();
}
bootstrap(AppComponent,[
APP_ROUTER_PROVIDERS
]);
/src/main.ts
node: 5.1.0
angular-cli: 0.0.39
angular: 2.0.0-rc.4
systemjs: 0.19.26
zone.js: 0.6.12
然后当然我在app.routes.js上获得了404
我正在使用以下版本:
{{1}}