nic*_*oum 11 javascript visual-studio-code typescript-typings
我正在开发一个JavaScript编译器,除其他功能外,它们还将在构建时替换某些函数和变量。
例如以下文件(./src/my-module.js):
defineModule("MyModule", function(exports) {
return exports;
});
Run Code Online (Sandbox Code Playgroud)
将被复制并转换为(./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;
});
Run Code Online (Sandbox Code Playgroud)
其中一些功能也可能返回结果。在这种情况下,我希望能够在不使用的情况下声明参数的类型和函数的结果require。.d.tsVSCode 是否可以有全局定义?
到目前为止,我所做的就是将函数添加到的全局变量中,eslint以免出错。
您可以在settings.json其中lib.*.d.ts使用typescript.tsdk选项指定自己的文件的地方指定自己的TypeScript文件夹路径。
{
"typescript.tsdk": "node_modules/typescript/lib"
}
Run Code Online (Sandbox Code Playgroud)
这个答案主要受到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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
449 次 |
| 最近记录: |