【问题标题】:AMD RequireJS @types TypeScript 2 Visual Studio 2015 nightmareAMD RequireJS @types TypeScript 2 Visual Studio 2015 噩梦
【发布时间】:2017-03-22 01:04:18
【问题描述】:

我被分配了一项任务,将我们的 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?

请帮忙!谢谢。

【问题讨论】:

  • 很抱歉您的经历,但我很高兴知道我不是唯一一个被逼疯的人(在我的情况下几乎是字面意思,由于缺乏睡眠和整天我'我花了这个!)。我觉得它工作时会很酷!

标签: visual-studio-2015 amd typescript-typings umd typescript2.2


【解决方案1】:

requireJS 不能优雅地处理 UMD(通用模块加载)。所有@types 库都是UMD 库。

为了让@types 库正确加载,我们不得不迁移到 WebPack。

最重要的是,我们这样做是为了更接近升级到 Angular 5,因为它从一开始就是用 TypeScript 作为 UMD 编写的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 2013-02-22
    • 1970-01-01
    • 2016-02-07
    • 2010-12-21
    • 2020-03-14
    • 2010-11-13
    相关资源
    最近更新 更多