使用typescript在angular2中导入库的最佳方法

时间:2016-02-20 19:26:57

标签: typescript angular

我正在玩Angular2,我需要使用jQuery。

我下载了d.ts文件,然后在每个文件的顶部使用此语法引用了定义

sort

这有效,但我有两个问题:

  1. 确实需要在每个文件中使用该语法? (不是很有趣)
  2. 这是正确的语法吗?在angular2(typescript)中,我们使用类似:/// <reference path="../../../../typings/jquery/jquery.d.ts" /> 的内容 那么区别是什么呢?什么是最好的?

1 个答案:

答案 0 :(得分:2)

这两个陈述做了不同的事情。

  1. 参考用于告诉编译器编译时应包含哪些文件。
  2. 在文件中始终包含引用语句确实很麻烦。这就是为什么可以使用 tsconfig.json 文件来告诉编译器应该包含的内容。

    您可以使用以下命令生成一个:

    tsc --init
    

    tsconfig.json 内容的一个示例是:

    {
        "compilerOptions": {
            "module": "commonjs",
            "target": "es5",
            "noImplicitAny": false,
            "sourceMap": false,
            "experimentalDecorators": true
        },
        "exclude": [
            "node_modules"
        ]
    }
    
    1. 导入{X}来自&#39; 用于定义运行时的模块依赖关系。
    2. 是ES6标准导入声明。

      在TypeScript中,它将被编译为Javascript,它将告诉模块加载器运行时的依赖关系,以便它可以获取它们。

      例如,如果模块是 commonjs 此TypeScript代码:

      import {doSomething} from './moduleTree';
      
      doSomething()
      

      获取编译为:

      "use strict";
      var moduleTree_1 = require('./moduleTree');
      moduleTree_1.doSomething();
      

      总之,引用在编译时使用, import 在运行时使用。