问题标签 [typescript]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
7117 浏览

requirejs - TypeScript 使用所需的定义编译 AMD 模块

在 AMD(在 requirejs 中实现)中,可以定义要作为依赖项包含的模块,例如:

我已经尝试过 --module amd 并且它正确输出了 requirejs 可用的 AMD 模块。

是否可以在 TypeScript 源文件的源代码中定义依赖关系,转换为类似于上面示例的内容?

0 投票
2 回答
5972 浏览

typescript - 打字稿:在单独的文件中定义类及其方法

是否可以在一个文件中声明一个类并在单独的文件中定义其方法?

我有一些有很多方法的类,如果我能把它们展开一点就好了。

0 投票
2 回答
370 浏览

typescript - TypeScript - 分离代码输出

我正在尝试打字稿,我发现它非常有用。

我有一个相当大的项目,我正在考虑使用打字稿重写它。这里的主要问题如下:

文件 A.ts:

文件 B.ts:

如果我用这个命令编译 A.ts:

我会从编译器那里得到错误,因为他不知道如何在扩展后威胁“B”。

因此,“解决方案”将包括在 A.ts 中(作为第一行代码):

使用相同的命令再次编译 A.ts

将导致compiledA.js 包含B.ts 和A.ts 代码。(这可能非常好)

就我而言,我只需要在compiledA.js 文件中编译A.ts 代码,我不希望B.ts 的东西在那里。

确实,我想要的是:

  • tsc --out A.js A.ts => 只编译 A.ts 的东西
  • tsc --out B.js B.ts => 只编译 B.ts 的东西

我可以通过删除“扩展”关键字来做到这一点,但这样做我会失去大部分打字稿的优点。

有人可以告诉我是否有办法做到这一点?

0 投票
4 回答
4808 浏览

angularjs - 对 EmberJS、AngularJS 或 BatmanJS 的 TypeScript 支持

TypeScript 会支持任何那些出色的 MV* 框架吗?

我知道现在问这个问题还为时过早,但是通过这个年轻的 javascript 计划获得支持的机会如何呢?

0 投票
28 回答
554425 浏览

typescript - 你如何在 TypeScript 的“window”上显式设置一个新属性?

我通过显式设置属性为我的对象设置全局命名空间window

TypeScript 强调MyNamespace并抱怨:

“窗口”类型的值上不存在属性“MyNamespace”任何“

MyNamespace我可以通过声明为环境变量并删除显式性来使代码工作,window但我不想这样做。

我怎样才能window留在那里并让 TypeScript 开心呢?

作为旁注,我发现 TypeScript 抱怨特别有趣,因为它告诉我那windowany绝对可以包含任何东西的类型。

0 投票
4 回答
15768 浏览

node.js - 将 Express() 与 TypeScript 一起使用

我想在 TypeScript 中使用最新版本的 Expess 和 node.js。microsoft 在示例中提供的 express.d.ts 似乎是基于 3.0.x 之前的版本构建的。在以前的版本中,你可以做

但在 3.0.x 之后你应该这样做:

Express.d.ts 不支持这个......我发现了一个 hack:我在 Express.d.ts 中添加了以下行:

app.ts我想创建应用程序对象时,我执行以下操作:

这似乎解决了这个问题,它的编译没有错误,而且我也得到了智能感知支持。然而这是一个黑客......首先为什么我不能写这样的东西?

这是解决此问题的推荐方法吗?

0 投票
2 回答
1914 浏览

typescript - 创建一个名为 _this 的变量是否应该与 this 冲突?

这是一个非常人为的例子,但是让我们假设我们_this在类函数的某处创建了一个变量。

当我们调用该函数时,这将无法按预期工作,changeName因为编译代码的相关部分如下所示:

这是糟糕的 Javascript:我们有两个var相互覆盖的声明。编译器_this创建的被我的_this.

据我所知,TypeScript 规范中没有指定这种行为。

他们为什么要冲突?编译器不能检测我是否创建了一个名为_this并将自动生成的变量命名为别的变量,比如_this2防止我的变量和编译器生成的变量相互践踏?

0 投票
3 回答
11746 浏览

visual-studio-2012 - Visual Studio TypeScript 选项

如何告诉 TypeScript 编译器从 Visual Studio 中生成 amd 模块(--module amd)。

谢谢。

0 投票
25 回答
627346 浏览

typescript - 如何在 TypeScript 中为对象动态分配属性?

如果我想以编程方式将属性分配给 Javascript 中的对象,我会这样做:

但在 TypeScript 中,这会产生错误:

“{}”类型的值上不存在属性“prop”

我应该如何将任何新属性分配给 TypeScript 中的对象?

0 投票
4 回答
34743 浏览

typescript - 直接从 TypeScript 调用 JavaScript

我刚刚下载了 TypeScript 文档。我有一些 JavaScript 类,我想在 TypeScript 测试应用程序中创建和使用这些类

如何从 TypeScript 调用包含的 JavaScript 的 JavaScript 函数。我不想创建“d.ts”文件。只是为了创建我的类,调用它的方法,访问它的属性。

我怎么做?


我正在尝试将 kendoUI 与 TypeScript 一起使用。

例如要显示一个窗口,我必须这样做:

  1. 有一个 HTML 来表示窗口的内容。我有一个 id 为 logonDialog 的 div。这个 div
    最初是隐藏的;
  2. 我创建窗口:logonDlg.kendoWindow(logOnParams);
  3. 然后使用 jQuery 我显示 div:使用logonDlg.show();

例子

它工作正常。JS 是按我的意愿生成的,但我收到一个错误,因为“JQuery”类型的值上不存在“kendoWindow”属性。

我怎样才能禁用这种错误。正如瑞安所说,我无法工作。