2016-02-04 140 views
0

有誰知道如何在TypeScript中使用systemjs導出模塊?我得到了錯誤:TS1148 cannot compile modules unless the '--module' flag is provided如何在TypeScript中使用systemjs導入和導出模塊?

這是我的代碼; animal.ts

export class Animal { 
    color: string; 
    age: number; 

    constructor(color: string, age:number) { 
     this.color = color; 
     this.age = age; 
    } 

    add(animal: Animal) { 
     return new Animal(this.color + animal.color, this.age + animal.age); 
    } 
} 

dog.ts

import {Animal} from './animal'; 

var animal1 = new Animal("red", 1); 
var animal2 = new Animal("yellow", 2); 
var animal3 = animal1.add(animal2); 
console.log('Combine Two Animals' + animal3); 

回答

0

您可以在您的系統配置指定打字稿編譯器選項。有很多選項可以找到here

System.config({ 
    typescriptOptions:{ 
     module: 'system' 
    } 
}); 
+0

謝謝。我將以下代碼添加到tsconfig.json「compilerOptions」中:{ 「target」:「ES5」, 「module」:「system」}然後它就起作用了。 –

+0

但是接着出現另一個錯誤:系統未定義。你知道如何解決它嗎?我是否需要將animal.js和dog.js文件包含到我的html文件中?我是新來的TypeScript。你知道有什麼好的資源可以幫助我使用TypeScript和systemjs嗎?看來大多數網站使用nodejs導入模塊,我不知道使用systemjs導入模塊的好處嗎?謝謝。 –

+0

瀏覽器無法導入模塊,這就是爲什麼存在SystemJS,webpack,browserify,requirejs等。我建議閱讀SystemJS回購文件。您可能已經在您的html中忘記了系統的'