2016-01-06 51 views
-2

我正在玩Angular2 beta tutorials,並發現ES6引入模塊& systemjs的新方式有多大。ES6模塊和SystemJS有什麼問題?

但是,有一件事我不能讓它工作。

一切正常,直到你有二級頁面,system.js配置只適用於第一級頁面

這裏是plnkr這個問題http://plnkr.co/edit/afsJY6tzrSeYMOtzUnXQ?p=preview

運行一次,你可以看到,網頁作品但第二級頁面不起作用。

必須與systemjs配置的東西,我有我的解釋,我完全理解爲什麼它不工作,我找到了解決方法,但我不喜歡它,請你指點我正確的方式?

這一部分:

System.import('app/boot').then(null, console.error.bind(console)); 

可以通過使用

System.import('/app/boot.js').then(null, console.error.bind(console)); 
在boot.ts

但當時很容易地固定

import {bootstrap} from 'angular2/platform/browser' 
import {AppComponent} from './app.component' 

bootstrap(AppComponent); 

我不知道如何解決'./app.component',因爲如果我做'../app/app.component.js'那麼打字稿編譯器就會指責,那麼,正確的策略如何呢?

+0

人們不太可能下載壓縮文件。 –

+0

同意你的看法,有沒有辦法讓「http-server」plunkr在線? –

+0

用plunkr –

回答

0

我不知道推薦的方法是什麼,因爲我還是一個初學者一樣好,但一個方法是將地圖添加到配置:

System.config({ 
    packages: {   
    app: { 
     format: 'register', 
     defaultExtension: 'js' 
    } 
    }, 
    map: { 
    app: '../app' // <-- 
    } 
}); 

你當然可以更換相對../app當你在本地運行它時,它有絕對的像/app

+0

編輯這個問題很有趣,可能是一種方法,我必須添加所有可能的相對路徑來添加?是指../app ../../app ../../../app等等,最多N個等級? –

+0

也許你可以添加一個絕對路徑,比如/ app,對不對? –

+0

我可以爲啓動沒有任何問題,當我使用Es6導入時出現問題,那裏我不能使用絕對路徑,如'./app.component中的導入{AppComponent} –