0

angular2 アプリを非推奨のルーターから推奨ルーター [ https://angular.io/docs/ts/latest/guide/router.html][1 ] に切り替えようとしています。 angular2 cli. cli を使用せずにシード プロジェクトでこれを正常に実行しましたが、cli でこれを実行すると、次のエラーが発生し続けます。

http://localhost:4200/main.jsから "./app.routes" として http ://localhost:4200/app.routes をロード中にエラーが発生しました" ; ゾーン: ; タスク: Promise.then ; 値: エラー: patchProperty/ desc.set/wrapFn@ http://localhost:4200/vendor/zone.js/dist/zone.js:769:27 Zonehttp://localhost:4200/vendor/zone.js/dist/zone.js:356 :24 Zonehttp://localhost:4200/vendor/zone.js/dist/zone.js:256:29 ZoneTask/this.invoke@ http://localhost:4200/vendor/zone.js/dist/zone.js :423:29 http://localhost:4200/main.jsからhttp://localhost: 4200/app.routesを "./app.routes" として ロード中にエラーが発生しました

これは私の main.ts ファイルです。

import { bootstrap } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { AppComponent, environment } from './app/';
import { APP_ROUTER_PROVIDERS } from './app.routes';

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

bootstrap(AppComponent, [APP_ROUTER_PROVIDERS])
  .catch(err => console.error(err));

これは私の app.routes.ts ファイルです

import { provideRouter, RouterConfig } from '@angular/router';
import {Main} from "./app/splash_app/main.component";
import {Whatsup} from "./app/splash_app/whatsup.component";
import {LocalBus} from "./app/splash_app/localbus.component";
import {Login} from "./app/splash_app/login.component";

export const routes: RouterConfig = [
  { path: 'main', component: Main },
  { path: 'search', component: Whatsup },
  { path: 'local-business', component: LocalBus },
  {path: 'guest-login', component: Login}
];

export const APP_ROUTER_PROVIDERS = [
  provideRouter(routes)
];

これはシステム構成ファイルです

// SystemJS configuration file, see links for more information
// https://github.com/systemjs/systemjs
// https://github.com/systemjs/systemjs/blob/master/docs/config-api.md

/***********************************************************************************************
 * User Configuration.
 **********************************************************************************************/
/** Map relative paths to URLs. */
const map: any = {
};

/** User packages configuration. */
const packages: any = {

};

////////////////////////////////////////////////////////////////////////////////////////////////
/***********************************************************************************************
 * Everything underneath this line is managed by the CLI.
 **********************************************************************************************/
const barrels: string[] = [
  // Angular specific barrels.
  '@angular/core',
  '@angular/common',
  '@angular/compiler',
  '@angular/http',
  '@angular/router',
  '@angular/platform-browser',
  '@angular/platform-browser-dynamic',


  // Thirdparty barrels.
  'rxjs',

  // App specific barrels.
  'app',
  'app/shared',
  /** @cli-barrel */
];

const cliSystemConfigPackages: any = {};
barrels.forEach((barrelName: string) => {
  cliSystemConfigPackages[barrelName] = { main: 'index' };
});

/** Type declaration for ambient System. */
declare var System: any;

// Apply the CLI SystemJS configuration.
System.config({
  map: {
    '@angular': 'vendor/@angular',
    'rxjs': 'vendor/rxjs',
    'main': 'main.js'
  },
  packages: cliSystemConfigPackages
});

// Apply the user's configuration.
System.config({ map, packages });

main.ts ファイルと app.routes.ts ファイルの両方が src フォルダーにあります。

4

1 に答える 1

0

app.routes.tsファイルをディレクトリに移動し、appその中のインポートを変更main.tsして新しいパスを指すようにします....

import { APP_ROUTER_PROVIDERS } from './app/app.routes';
于 2016-06-22T17:13:29.703 に答える