node.js - 如何允许 CommonJS 程序从我的 TypeScript 库中导入而不使用 require().default 并在文本编辑器中自动完成
问题描述
我目前正在开发一个 TypeScript 库,以便在我公司的项目内部使用,这些项目是 JavaScript 和 TypeScript Node 应用程序的混合体。
因此,我希望能够使用 CommonJS 在 JavaScript 中正确导入库的默认类。但是,如果我使用require('...').default
.
我之前设法通过在文件末尾添加 a 来使其工作module.exports = MyClass
,但是 VSCode 的自动完成似乎没有赶上这一点,在显示方法之前仍然建议使用默认值。
我怎样才能做到这一点,以便我可以通过使用导入我的课程,require('...')
同时仍然确保自动完成功能正常工作?
谢谢。
编辑:
为了清楚起见,我想做的是能够做到这一点:
const MyClass = require('MyTypeScriptClass');
代替:
const MyClass = require('MyTypeScriptClass').default;
编辑
我决定export default
在从库导出时不使用,因为它似乎是所有其他库所做的。
解决方案
等效的 TypeScript 应该是这样的:
class MyClass {
}
export = MyClass
export = class MyClass { ...
如果喜欢,也可以内联。
(要在 TypeScript 项目中导入这样的导出,您需要设置esModuleInterop
标志。)
推荐阅读
- c# - 来自 Vue 应用程序的发布请求被 CORS 策略阻止
- powershell - Azure 自动化 | 运行手册 | 外壳 | 获取 AzRoleAssignment | Microsoft.Rest.Azure.CloudException
- android - 语言名称和代码中的 Hashmap 键值对
- c++ - 当无法知道长度或将其作为参数传递时,有没有办法在模板类中创建指针样式数组?
- google-bigquery - BigQuery 文字列名称
- powershell - 如何为我在 powershell 中创建的类定义默认排序顺序?
- module - Terraform 模块中 `count.index` 的解决方法
- c# - 使用实体框架在 C# 中将 SQL 查询转换为 linq
- python - update 和 update_idletasks 的问题
- r - 在多个数据集上循环 R 中的因果影响并自动导出结果