有些人正在使用 Backbone.d.ts 编写 Backbone 应用程序。我想讨论两个用例。
- 使用 AMD 加载器(或者我想也是 CommonJS)创建带有模块的主干应用程序
- 使用纯 JS 创建主干应用程序
对于营地 1 中的那些,有必要将主干模块定义为外部模块,以便能够导入模块并将其包含在define()
包装器中。
对于阵营 2 中的那些,有必要将骨干模块定义为内部模块,以便使用智能感知并且不需要使用import
语句/define()
包装器。
问题:是否有其他方式来定义模块以便在这两种情况下都可以使用它?
我真的不想创建一个分叉,这样你就可以拥有
// required for those using import (1)
declare module "Backbone" {
或者
// required for those not using import (2) and backbone already exists in the global scope
declare module Backbone {
并且仍然能够与您的代码/智能感知相处。