javascript - 在没有 AMD 的情况下将 TypeScript 与 jQuery 一起使用?

标签 javascript typescript

是否可以在没有 AMD 的情况下使用 TypeScript 和 jQuery(或任何其他非 Node JavaScript 库)?

目前我的代码编译正常,但编译后的代码看不到 jQuery 的 $ 函数。

鉴于此 TypeScript 代码:

/// <reference path="typings/tsd.d.ts" />
import $ = require('jquery');

export class Widget {
  foo() { 
    $(selector).bar()
  }
}

我想要以下 JavaScript:

var Widget = (function ($) {
  function Widget() { }
  Widget.prototype.foo = function () { ... };
  return Widget;
})(jQuery);

目前我的代码没有jQuery 传递给匿名函数。

更新 1

根据@basarat

Do it by hand. If its valid JavaScript then its valid TypeScript

你建议(我也在想)我这样做:

var Widget = (function($) {
  class Widget {
    foo() {
      $('body').append('foo');
    }
  }
  return Widget;
})(jQuery);

?

那不是有效的 TypeScript,没有它,我只剩下原型(prototype)了。

更新 2

根据@basarat,TypeScript 1.6 支持上述内容。

最佳答案

Given this TypeScript code , I'd like the following JavaScript

这不是 TypeScript js emit 设计的工作方式

简而言之:没有。您无法从该 typescript 中获取此 javascript。

I know I can do this by hand. I want to know if there's a TypeScript way to do this.

手工制作。如果它是有效的 JavaScript,那么它就是有效的 TypeScript。没有特定的 TypeScript 方法来做这件事。在这种情况下,JavaScript 方式就是TypeScript 方式

更新

That's not valid TypeScript and without that, I'm left with prototypes.

它是从 TypeScript 1.6 开始的有效 TypeScript。

关于javascript - 在没有 AMD 的情况下将 TypeScript 与 jQuery 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32684959/

相关文章:

javascript - sendKeys(index) 中值的 Protractor 循环

javascript - 将数据从两个组件传输到服务( Angular 2)

javascript - 如何使用 RxJS 以适当的格式返回 observable 以及额外的单独分页数据

javascript - 通过值数组定义接口(interface)

javascript - 使用 jQuery 相对于其位置滑动元素

javascript - DataTables:获取匹配单列条件的整行的源数据

Angular (v5+) - Snackbar "openFromComponent",组件通信

javascript - jquery 内容可编辑缩进

javascript - 如何翻转元素 onclick 按钮?

javascript - 如何按用户/最近的 geohash 的位置对 firestore db 中的数据进行排序?