【问题标题】:Export declaration file for JavaScript function in TypeScriptTypeScript 中 JavaScript 函数的导出声明文件
【发布时间】:2018-10-27 18:40:22
【问题描述】:

我是 TypeScript 新手,我想知道如何为自定义 JavaScript 函数编写声明文件。我试过这个,但它给了我错误“找不到模块'./main'的声明文件。”并且不要在 index.ts 文件中提供任何 IntelliSense。

main.js

var maths={ sum:function (a,b){ console.log(a+b)}}

module.exports=maths;

index.ts

import * as mt from "./main"
mt.sum(2,5);

type.d.ts

 declare module 'main' {
export function sum(a:number,b:number):void }

`

【问题讨论】:

    标签: javascript typescript


    【解决方案1】:

    这个导入

    import * as mt from "./main"
    

    正在与index.ts 相同的目录中寻找main.ts 或main.d.ts。

    因此,您可以尝试的一件事是将type.d.ts 重命名为main.d.ts 并从中删除declare module 'main',只将export function sum 留在顶层。以这种方式导入时,模块名称取自文件名。此外,您可能需要从项目中删除对 type.d.ts 的引用(或 tsconfig.json),如果有的话。

    或者,您可以尝试将导入更改为

    import * as mt from "main"
    

    以便导入的模块名称与declare module 中给出的名称完全匹配。

    【讨论】:

    • 欣赏答案,它的工作原理。还有一件事需要问应该是同一文件夹中的 d.ts 文件和 .js 文件?
    • 对于导入from "./main",main.js文件应该在编译index.js所在的同一文件夹中。
    猜你喜欢
    • 2021-09-28
    • 2021-08-24
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 2013-08-20
    • 2017-01-26
    • 2021-04-14
    相关资源
    最近更新 更多