ts模块

作者: 16325 | 来源:发表于2022-01-19 11:01 被阅读0次

    TS中的import

    JavaScript 中有多种 export 的方式,而 TypeScript 中针对这种情况做了多种 import 语法。

    // commonjs 模块
    import * as xx from 'xx'

    // es6 模块
    import xx from 'xx'

    // commonjs 模块,类型声明为 export = xx
    import xx = require('xx')

    // 没有类型声明,默认导入 any 类型
    const xx = require('xx')

    • import * as xx from 'xx' 的语法来一般都是用来导入使用 module.exports 导出的模块。

    import * as path from 'path'

    • import xx from 'xx' 默认情况下,import xx from 'xx' 的语法只适用于 ECMAScript 6 的 export default 导出

    • import xx = require('xx') import xx = require('xx') 是用来导入 commonjs 模块的库,特殊的地方在于这个库的类型声明是 export = xx 这种方式导出的

    • const xx = require('xx') 当一个模块没有类型声明文件的时候,可以使用 commonjs 原始的 require() 方式来导入模块,这样会默认该模块为 any。

    声明文件

    如果ts模块不存在声明文件,那么只能用最后一种方式进行引入。
    否则需要建立声明文件。

    如果声明文件是通过 tsc 自动生成的,那么无需做任何其他配置,只需要把编译好的文件也发布到 npm 上,使用方就可以获取到类型提示了。

    如果是手动写的声明文件,那么需要满足以下条件之一,才能被正确的识别:

    • 给 package.json 中的 types 或 typings 字段指定一个类型声明文件地址
    • 在项目根目录下,编写一个 index.d.ts 文件
    • 针对入口文件(package.json 中的 main 字段指定的入口文件),编写一个同名不同后缀的 .d.ts 文件

    相关文章

      网友评论

          本文标题:ts模块

          本文链接:https://www.haomeiwen.com/subject/gmkrhrtx.html