web-dev-qa-db-ja.com

vscode JavaScriptでグローバル宣言を設定する

他のものとは別に、ビルド時に特定の関数や変数を置き換える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のグローバル変数に追加しています。

11
nick zoum

了承

この回答は主に 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;
1
nick zoum