在節點,我可以通過設置exports
對象的屬性定義像這樣的模塊:是否可以在打字稿中使用nodejs樣式模塊?
module.js
exports.fun = function (val) {
console.log(val);
};
和要求它使用在var module = require('module')
和使用module.fun()
功能。
是否有可能定義模塊中的打字稿這樣的:
module.ts
exports.fun = function (val :string) {
console.log(val);
};
,然後使用節點的語法,比如導入模塊中的一些其他的文件,所以import module = require('module.ts')
它編譯爲nodejs,但是,如果現在我在某些.ts
文件中使用module.fun()
,如果參數與module.ts文件中指定的類型不匹配,它應該給我一個錯誤。
我該如何在手稿中做到這一點?
Typescript只是編譯爲JavaScript。它不會像模塊那樣添加任何功能,因爲它不是庫本身。您需要查看一個AMD庫以允許使用類似的語法(https://github.com/amdjs/amdjs-api/wiki/AMD) – WiredPrairie
以下是一個視頻演示:http://www.youtube .com/watch?v = KDrWLMUY0R0&hd = 1&t = 7m20s – basarat
@basarat我確實遇到過那個視頻。我在說,在nodejs模塊中,我將屬性賦給'exports'.However,如果我在'.ts'文件中寫'exports.num = 10',我得到'錯誤TS2071:無法解析外部模塊' '。/ myModule'''和'錯誤TS2072:模塊不能被別名爲非模塊類型。'因此,是否有可能使用JS語法,因爲有效的JS應該是有效的TS? – Jatin