是否可以在没有 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/