2016-06-12 59 views
1

時,我有以下代碼...找不到名稱'module'。使用CommonJS的

@Component({ 
    module: module.id, 
    selector: 'hero', 
    templateUrl:'hero.component.html', 
    styleUrls: ['hero.component.css'], 
    directives: [HeroDetailComponent, MD_CARD_DIRECTIVES, MD_BUTTON_DIRECTIVES, MD_LIST_DIRECTIVES, MD_ICON_DIRECTIVES, MdToolbar, MD_INPUT_DIRECTIVES], 
    providers: [HeroService], 
    viewProviders: [MdIconRegistry] 
}) 
export class HeroComponent implements OnInit{ 
... 
} 

//tsconfig.js 
{ 
    "compilerOptions": { 
    "target": "es5", 
    "module": "commonjs", 
    "rootDir": "src/ng2", 
    "moduleResolution": "node", 
    "sourceMap": false, 
    "inlineSources": true, 
    "inlineSourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "removeComments": false, 
    "outDir": "public/ng2", 
    "noImplicitAny": false 
    }, 
    "exclude": [ 
    "node_modules", 
    "typings/main", 
    "typings/main.d.ts" 
    ] 
} 

但是當我跑我得到...

的src/NG2 /組件/英雄/ hero.component.ts(15 ,13):錯誤TS2304:找不到名稱'module'。

UPDATE

我試圖根據this question

"globalDependencies": { 
    "node": "registry:dt/node#6.0.0+20160608110640" 
} 

,但我還是看到做的步驟...

對象字面可以只指定已知特性,和'模塊'不存在類型

更新2更新引導文件後,看起來像這樣...

import {bootstrap}  from '@angular/platform-browser-dynamic'; 
import {HeroComponent} from './components/hero/hero.component'; 
import { HTTP_PROVIDERS } from '@angular/http'; 
declare var module:any; 
bootstrap(HeroComponent, [ HTTP_PROVIDERS ]); 

我仍然看到

的src/NG2 /組件/英雄/ hero.component.ts (15,5):錯誤TS2345:類型'{module:string;選擇器:字符串; template:string; styleUrls:string [];指令:(typeof He ...'不能分配給類型爲'{selector?:string; inputs?:string [];輸出?:string [];屬性?:string [];參數的事件? '。 對象字面量只能指定已知屬性,而'模塊'不存在於類型'{selector ?: string; inputs ?: string []; outputs ?: string []; properties ?: string []; events ?:〜應變...「

這裏是project

回答

1

更新

好吧,讓我們把該行的打字稿定義文件,並添加一個引用使得f在引導程序文件中。在你的角啓動腳本的頂部添加:

///<reference path="./path/to/custom.typings.d.ts"/>

然後,您需要創建在引用的路徑的文件。在該文件中,添加一行:declare var module:any;

原來的答案

在你的角度啓動腳本(調用角的bootstrap功能的腳本),近上面添加自舉以下行:

declare var module:any;

我不知道爲什麼這個錯誤發生,因爲像你我配置我的依賴建議。既然我知道它不會造成任何問題,我只是添加了行來讓編譯器停止抱怨

+0

試過了,但我似乎仍然有問題。有任何想法嗎?查看更新 – Jackie

+0

結帳我編輯的答案。也許該行必須位於打印稿定義文件中。 – BeetleJuice

+0

我會嘗試一下,我仍然可以使用systemJS作爲我的transpiler嗎? – Jackie