简体   繁体   English

Typescript声明文件不是模块

[英]Typescript declaration file is not a module

I try to create a typescript declaration file for a sample JS library 我尝试为示例JS库创建一个打字稿声明文件

my_lib.js : my_lib.js:

function f1(a, b) {
  return a + b;
} 
function f2(a, b) {
  return a - b;
}  
module.exports = {
  f1: f1,
  f2: f2 
}

my_lib.d.ts my_lib.d.ts

declare module 'my_lib' {
    function f1(a: number, b: number): number;
    function f2(a: number, b: number): number;   
    export default {
        f1: f1,
        f2: f2 
    }
}

A typescript file try to used the library with 一个打字稿文件尝试将库与

import my_lib from 'my_lib';

I have this error 我有这个错误

error TS2656: Exported external package typings file 'C:/.../my_lib.d.ts' is not a module. 错误TS2656:导出的外部程序包键入文件'C:/.../ my_lib.d.ts'不是一个模块。 Please contact the package author to update the package definition. 请与软件包作者联系以更新软件包定义。

Any idea? 任何想法? Thanks 谢谢

lib.d.ts is a reserved filename for TypeScript internal library. lib.d.ts是TypeScript内部库的保留文件名。 Do not use it. 不要使用它。

I solved using export = and import my_lib = require("my_lib"); 我解决了使用export =import my_lib = require("my_lib"); syntax 句法

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM