Объявление окружения TypeScript не работает - PullRequest
0 голосов
/ 06 октября 2019

У меня есть файл JavaScript (TestAdd.js), содержащий функцию, которую я хотел бы использовать из файла TypeScript (CalcTest.ts)

Вот код JavaScript:

var TestSum;     
(function (TestSum) {    
var Cal = (function () { 
    function Cal() { 
    } 
    Cal.prototype.doAdd = function (a, b) { 
        return a + b; 
    } 
}) 
})

А вот TypeScript:

/// <reference path = "Calc.d.ts" />
var obj = new TestAdd.Cal(); 
console.log("Add: " +obj.doAdd(40, 25));

Я создал файл объявления окружения (Calc.d.ts) для объявления внешнего модуля:

declare module TestAdd{ 
    export class Cal { 
        doAdd(a:number, b:number) : number; 
    } 
} 

Myпонимание следующих нескольких руководств заключается в том, что это должно позволить мне создать экземпляр типа и использовать метод из внешнего файла JS. Я ожидаю, что результат 65 будет зарегистрирован в консоли, но вместо этого я получаю ReferenceError: TestAdd не определен.

1 Ответ

0 голосов
/ 07 октября 2019

Комментарий пути ссылки не импортирует функцию для вас. Вы должны импортировать это. например, при условии добавления теста как экспорта в качестве экспорта по умолчанию:

/// <reference path = "Calc.d.ts" />
import testAdd from 'TestAdd.js'

var obj = new testAdd.Cal(); 
console.log("Add: " +obj.doAdd(40, 25));

и в вашем TestAdd.js

добавьте export default TestSum внизу

...