2016-09-18 62 views
0

我是Typescript和Angular2的新手。我有一個app文件夾,我在其中創建ts文件,並且正在嘗試生成已編譯的「js」文件到另一個構建的文件夾。 'Js'文件正在成功生成,但是當我嘗試使用System.import('built')將文件import轉換爲html時,腳本未被引用並拋出404。 'app'和'built'文件夾都添加到根目錄中。 這裏是我的tsconfig.json:System.Import in Typescript不會覆蓋默認路徑

{ 
    "compilerOptions": { 
    "target": "es5", 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "sourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "removeComments": false, 
    "noImplicitAny": false, 
    "outDir": "built" 
    } 
} 

我在這裏導入腳本的index.html:

System.import('built').catch(function(err){ console.error(err); }); 

任何幫助。

編輯:在這裏,我已經添加了systemjs.config.js:

(function (global) { 
    System.config({ 
    paths: { 
     // paths serve as alias 
     'npm:': 'node_modules/' 
    }, 
    // map tells the System loader where to look for things 
    map: { 
     // our app is within the app folder 
     app: 'app', 
     // angular bundles 
     '@angular/core': 'npm:@angular/core/bundles/core.umd.js', 
     '@angular/common': 'npm:@angular/common/bundles/common.umd.js', 
     '@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js', 
     '@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js', 
     '@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js', 
     '@angular/http': 'npm:@angular/http/bundles/http.umd.js', 
     '@angular/router': 'npm:@angular/router/bundles/router.umd.js', 
     '@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js', 
     // other libraries 
     'rxjs':      'npm:rxjs', 
     'angular2-in-memory-web-api': 'npm:angular2-in-memory-web-api', 
    }, 
    // packages tells the System loader how to load when no filename and/or no extension 
    packages: { 
     app: { 
     main: './main.js', 
     defaultExtension: 'js' 
     }, 
     rxjs: { 
     defaultExtension: 'js' 
     }, 
     'angular2-in-memory-web-api': { 
     main: './index.js', 
     defaultExtension: 'js' 
     } 
    } 
    }); 
})(this); 
+0

我只是測試它如果我做'System.import('built')。catch(function(err){console.error(err);});''你能告訴我你的'systemjs.config .js'? – micronyks

+0

@micronyks用systmjs.config.js更新了這個問題 – Vivek

回答

1

您需要如圖所示改變應用內置的映射,

map: { 
     // our app is within the app folder 
     app: 'built',   //<-----changed 'app' to 'built'... 
     ... 
     ... 
} 
+0

明白了。我怎麼錯過了它。反正謝謝 – Vivek

+0

會發生!享受Angular2。 – micronyks