AMD RequireJS @types TypeScript 2 Visual Studio 2015 噩梦
AMD RequireJS @types TypeScript 2 Visual Studio 2015 nightmare
我被分配了一项任务,将我们的 angularJs 项目更新为 TypeScript 2
我们目前使用 requirejs (AMD) 填充库,然后使用
import 'angular';
import 'lodash';
这是我理解的ES6模块加载语法。
我们声明一个主应用程序模块并在其中导入库,然后当我们导入应用程序模块时
import 'Application';
这也是被requirejs屏蔽的,我们在导入的时候会自动获取Application的所有导入库列表。
我实际上成功地将项目更新为 TypeScript 2!!!
但是,当我尝试使用@types 来包含 TypeScript 声明文件时,问题出现了。
没有关于如何完成这项工作的完整参考!
****** 问题! ******
当我尝试使用@types/lodash 时,我在所有现有文件中丢失了 _ (lodash) 的智能感知。
当我尝试
import * as _ from 'lodash';
然后我遇到了另一个错误:
Build:Module augmentation cannot introduce new names in the top level scope.
我的理解是 .d.ts 文件导出 UMD 模块。但是如何在我的 Visual Studio 2015 中引用 @types?
请帮忙!谢谢。
requireJS 不会优雅地处理 UMD(通用模块加载)。所有@types 库都是 UMD 库。
我们必须转移到 WebPack 才能正确加载@types 库。
最重要的是,我们这样做是为了更接近升级到 Angular 5,requireJS AMD 无法访问它,因为它从一开始就是用 TypeScript 作为 UMD 编写的。
我被分配了一项任务,将我们的 angularJs 项目更新为 TypeScript 2
我们目前使用 requirejs (AMD) 填充库,然后使用
import 'angular';
import 'lodash';
这是我理解的ES6模块加载语法。 我们声明一个主应用程序模块并在其中导入库,然后当我们导入应用程序模块时
import 'Application';
这也是被requirejs屏蔽的,我们在导入的时候会自动获取Application的所有导入库列表。
我实际上成功地将项目更新为 TypeScript 2!!!
但是,当我尝试使用@types 来包含 TypeScript 声明文件时,问题出现了。
没有关于如何完成这项工作的完整参考!
****** 问题! ******
当我尝试使用@types/lodash 时,我在所有现有文件中丢失了 _ (lodash) 的智能感知。
当我尝试
import * as _ from 'lodash';
然后我遇到了另一个错误:
Build:Module augmentation cannot introduce new names in the top level scope.
我的理解是 .d.ts 文件导出 UMD 模块。但是如何在我的 Visual Studio 2015 中引用 @types?
请帮忙!谢谢。
requireJS 不会优雅地处理 UMD(通用模块加载)。所有@types 库都是 UMD 库。
我们必须转移到 WebPack 才能正确加载@types 库。
最重要的是,我们这样做是为了更接近升级到 Angular 5,requireJS AMD 无法访问它,因为它从一开始就是用 TypeScript 作为 UMD 编写的。