他のものとは別に、ビルド時に特定の関数や変数を置き換えるJavaScriptトランスパイラーに取り組んでいます。
たとえば、次のファイル(./src/my-module.js
):
defineModule("MyModule", function(exports) {
return exports;
});
コピーされ、(./build/my-module.js
):
(function(global, factory) {
"use strict";
if (typeof exports !== "undefined" && typeof module !== "undefined") module.exports.MyModule = factory(exports.MyModule || {});
else factory(global.MyModule = {});
})(this, function(exports) {
return exports;
});
これらの関数の一部は、結果を返すこともできます。その場合、require
を使用せずにパラメーターの型と関数の結果を宣言できるようにしたいと思います。グローバル.d.ts
VSCodeでの定義?
これまでのところ、エラーが発生しないように、関数をeslint
のグローバル変数に追加しています。
この回答は主に mootrichardの回答 に触発されたものですが、変更する必要があったため、プロジェクトで作業するために、この回答も追加しています。
押すと F12 グローバルJavaScript関数(つまり、eval
)では、型宣言ファイルが表示されます(lib.es5.d.ts
)、JavaScriptドキュメントが含まれています。そのファイルに名前空間や関数を追加するだけです。ただし、declare
ではなくexport
を使用する必要があります。
例:
//... Other Global JavaScript Declarations
// JavaScript Number Interface
interface Number {
//...
}
// JavaScript Date Interface
interface Date {
//...
}
declare function ezDefine(moduleName: string, generator: *): void;