【问题标题】:How to use type definitions when importing/requiring files (not modules) in JavaScript?在 JavaScript 中导入/需要文件(不是模块)时如何使用类型定义?
【发布时间】:2018-11-08 23:59:22
【问题描述】:

我有三个文件:

a.js

var moduleb=require('./b.js')
moduleb.func('should_be_a_string_and_return_a_boolen')

b.js

 function func(arg){
         return arg
 }
 module.exports={func}

b.d.ts

 declare function fnc(arg:string):boolean

问题:

我如何让 TypeScript 编译器理解 b.d.ts 中的类型定义并将其连接到 b.js 中的导出值?

我想要达到什么目的?

我正在使用create-react-app,我想将类型定义添加到组件中,以便我可以在组件的所有道具中获得 IntelliSense。

谢谢!

【问题讨论】:

    标签: javascript reactjs typescript create-react-app


    【解决方案1】:

    可以像往常一样在 TypeScript 中导入具有各自 .d.ts 类型的模块(CommonJS 和 ES):

    import * as moduleb from './b.js';
    

    或者:

    import moduleb = require('./b.js');
    

    虽然 require 没有 import 语句应该用于没有类型和同步动态导入的模块。

    【讨论】:

      猜你喜欢
      • 2014-06-04
      • 1970-01-01
      • 2018-01-06
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-10
      • 1970-01-01
      相关资源
      最近更新 更多