【发布时间】:2019-11-13 22:49:13
【问题描述】:
我正在开发一个 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 的情况下声明参数的类型和函数的结果。 VSCode 中是否可以有一个全局的.d.ts 定义?
到目前为止,我所做的只是将函数添加到eslint 的全局变量中,以免出错。
【问题讨论】:
-
我不确定我是否理解正确。这是一个打字稿项目吗?如果是,将类型添加到
tsconfig.json中的paths配置怎么样?让我知道这是否是您要查找的内容,以便稍后我会准备详细的答案。 -
所以你试图声明
defineModule的类型而不定义函数(因为它只会被编译器内联,任何地方都没有实际的可调用函数)? -
@saulotoledo,我正在开发一个转译器,这意味着我正在开发一个会改变 JavaScript 文件内容的项目(完全不包括 JavaScript 或 TypeScript)。将声明放在全局
.d.ts文件中是理想的,我可以在不需要require声明的情况下从我的所有项目中引用该文件。
标签: javascript visual-studio-code typescript-typings