找不到名称'模块'。当使用commonjs时

时间:2016-06-12 02:01:43

标签: typescript

我有以下代码......

move()

但是当我跑步时,我得到......

  

src / ng2 / components / hero / hero.component.ts(15,13):错误TS2304:找不到名称'模块'。

更新

我尝试按照this question

执行这些步骤
@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"
  ]
}

但我仍然看到......

  

对象文字只能指定已知属性,而“'模块'类型

中不存在
更新bootstrap文件后,

UPDATE 2 看起来像这样......

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

我仍然看到

  

src / ng2 / components / hero / hero.component.ts(15,5):错误TS2345:类型的参数' {module:string; selector:string; template:string; styleUrls:string [];指令:( typeof He ...'不能分配给类型&{39; {selector?:string;输入?:string [];输出?:string [];属性?:string [];事件?:strin ......'。     对象文字只能指定已知属性,并且'模块'类型' {selector?:string;输入?:string [];输出?:string []; properties?:string [];事件?:strin ......'。

以下是project

1 个答案:

答案 0 :(得分:1)

<强>更新

好的,让我们将该行放入打字稿定义文件中,并在bootstrap文件中添加对该文件的引用。在Angular启动脚本的顶部,添加:

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

然后,您需要在引用的路径上创建一个文件。在该文件中,添加以下行:declare var module:any;

原始答案

在Angular启动脚本(调用Angular&#39; s bootstrap函数的脚本)中,在引导程序附近添加以下行:

declare var module:any;

我不确定为什么会出现这种错误,因为像我一样,我按照建议配置了我的依赖项。由于我知道它没有造成任何问题,我只是添加了一行来让编译器停止抱怨