2016-06-25 111 views
0

我在Angular 2中設置路由,並且基於它們的website的文檔,所有內容都是相同的。錯誤404:找不到@ angular/router/bundles/router.umd.js

這裏是我的app.component.ts

import {Component} from '@angular/core'; 
import {ROUTER_DIRECTIVES} from '@angular/router'; 

@Component({ 
    selector: 'my-app', 
    templateUrl: 'app/templates/html/app.component.html', 
    directives: [ROUTER_DIRECTIVES] 
}) 

export class AppComponent{ 

} 

不幸的是,我得到這個錯誤我進口的一個例子。

enter image description here

我看着自己的文件樹,我注意到,沒有內@角文件夾/路由器

enter image description here

這是一個錯誤?我怎樣才能解決這個問題?謝謝!

回答

2

這是你systemjs文件。

首先,你可以映射NG2路由器模塊,類似於您的應用程序:

var map = { 
    <...> 
    '@angular/router':   'node_modules/@angular/router', 
    <...> 
}; 

接下來設置手動的packIndex吧:

packages['@angular/router'] = { main: 'index.js', defaultExtension: 'js' }; 

要修正這個錯誤適應下面的代碼你特殊案例。

注意要使用不同的NG2模塊版本和您的應用程序名稱(如果適當的更改):

(function(global) { 
    // map tells the System loader where to look for things 
    var map = { 
     'YourApp':     'YourApp', // 'dist', 
     '@angular':     'node_modules/@angular', 
     '@angular/router':   'node_modules/@angular/router', 
     'rxjs':      'node_modules/rxjs' 
    }; 
    // packages tells the System loader how to load when no filename and/or no extension 
    var packages = { 
     'YourApp':     { main: 'app.js', defaultExtension: 'js' }, 
     'rxjs':      { defaultExtension: 'js' } 
    }; 
    var ngPackageNames = [ 
     'common', 
     'forms', 
     'compiler', 
     'core', 
     'http', 
     'platform-browser', 
     'platform-browser-dynamic', 
     'router-deprecated', 
     'upgrade', 
    ]; 
    // Individual files (~300 requests): 
    function packIndex(pkgName) { 
     packages['@angular/'+pkgName] = { main: 'index.js', defaultExtension: 'js' }; 
    } 
    // Bundled (~40 requests): 
    function packUmd(pkgName) { 
     packages['@angular/'+pkgName] = { main: 'bundles/' + pkgName + '.umd.js', defaultExtension: 'js' }; 
    } 

    packages['@angular/router'] = { main: 'index.js', defaultExtension: 'js' }; 

    // Most environments should use UMD; some (Karma) need the individual index files 
    var setPackageConfig = System.packageWithIndex ? packIndex : packUmd; 
    // Add package entries for angular packages 
    ngPackageNames.forEach(setPackageConfig); 
    var config = { 
     map: map, 
     packages: packages 
    }; 
    System.config(config); 
})(this);