2016-07-25 113 views
0

我試圖創建一個樣本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

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

一個打字稿文件嘗試

import my_lib from 'my_lib'; 
所使用的庫

我有這樣的錯誤

錯誤TS2656:導出外部包分型文件 'C:/.../ my_lib.d.ts' 不是模塊。請聯繫軟件包作者更新 包裝定義。

任何想法?由於

回答

0

lib.d.ts是打字稿圖書館內部保留的文件名。不要使用它。

+0

好吧,這只是一個例子,我真正的文件是不一樣的。我更新了我的帖子。 –

+0

我正在使用TypeScript 2.0.0(測試版),並且我沒有遇到任何錯誤。也許你可以試試這個新版本('npm install typescript @ beta -g')。 – Yahiko

0

我解決了使用export =import my_lib = require("my_lib");語法