- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我可以像这样使用 amd 模块加载 jQuery - require jquery via AMD in TypeScript我也了解插件如何在没有模块的情况下修改 jquery 接口(interface) - Using jQuery plugin in TypeScript
但是如何通过 AMD 模块加载 jQuery 插件呢?并让它更新 jQuery 界面?
import plugin1 = module("jquery.tmpl");
import jQuery= module("jquery");
plugin1 和 jQuery 都会有不同版本的 jQuery 接口(interface),plugin1 不会添加到 jquery 模块中定义的接口(interface)。
我试过将每个文件中的模块命名为相同的
export module jQuery {
// .., jQuery definitions
}
还是不行
最佳答案
将以下内容添加到 github/definetelytyped 上的 jquery.d.ts 文件末尾.
declare module "jquery"{
/****
AJAX
*****/
export function ajax(settings: JQueryAjaxSettings): JQueryXHR;
export function ajax(url: string, settings?: JQueryAjaxSettings): JQueryXHR;
export function ajaxPrefilter(dataTypes: string, handler: (opts: any, originalOpts: any, jqXHR: JQueryXHR) => any): any;
export function ajaxPrefilter(handler: (opts: any, originalOpts: any, jqXHR: JQueryXHR) => any): any;
export var ajaxSettings: JQueryAjaxSettings;
export function ajaxSetup(options: any);
export function get(url: string, data?: any, success?: any, dataType?: any): JQueryXHR;
export function getJSON(url: string, data?: any, success?: any): JQueryXHR;
export function getScript(url: string, success?: any): JQueryXHR;
export function param(obj: any): string;
export function param(obj: any, traditional: bool): string;
export function post(url: string, data?: any, success?: any, dataType?: any): JQueryXHR;
/*********
CALLBACKS
**********/
export function Callbacks(flags?: string): JQueryCallback;
/****
CORE
*****/
export function holdReady(hold: bool): any;
export function (selector: string, context?: any): JQuery;
export function (element: Element): JQuery;
export function (object: { }): JQuery;
export function (elementArray: Element[]): JQuery;
export function (object: JQuery): JQuery;
export function (func: Function): JQuery;
export function (array: any[]): JQuery;
export function (): JQuery;
export function noConflict(removeAll?: bool): Object;
export function when(...deferreds: any[]): JQueryPromise;
/***
CSS
****/
export function css(e: any, propertyName: string, value?: any);
export function css(e: any, propertyName: any, value?: any);
export var cssHooks: { [key: string]: any; };
export var cssNumber: any;
/****
DATA
*****/
export function data(element: Element, key: string, value: any): any;
export function data(element: Element, key: string): any;
export function data(element: Element): any;
export function dequeue(element: Element, queueName?: string): any;
export function hasData(element: Element): bool;
export function queue(element: Element, queueName?: string): any[];
export function queue(element: Element, queueName: string, newQueueOrCallback: any): JQuery;
export function removeData(element: Element, name?: string): JQuery;
/*******
EFFECTS
********/
export var fx: { tick: () => void; interval: number; stop: () => void; speeds: { slow: number; fast: number; }; off: bool; step: any; };
/******
EVENTS
*******/
export function proxy(context: any, name: any): any;
export function Deferred(): JQueryDeferred;
/*********
INTERNALS
**********/
export function error(message: any);
/*************
MISCELLANEOUS
**************/
export var expr: any;
export var fn: any; //TODO: Decide how we want to type this
export var isReady: bool;
/**********
PROPERTIES
***********/
export var browser: JQueryBrowserInfo;
export var support: JQuerySupport;
/*********
UTILITIES
**********/
export function contains(container: Element, contained: Element): bool;
export function each(collection: any, callback: (indexInArray: any, valueOfElement: any) => any): any;
export function extend(target: any, ...objs: any[]): Object;
export function extend(deep: bool, target: any, ...objs: any[]): Object;
export function globalEval(code: string): any;
export function grep(array: any[], func: any, invert: bool): any[];
export function inArray(value: any, array: any[], fromIndex?: number): number;
export function isArray(obj: any): bool;
export function isEmptyObject(obj: any): bool;
export function isFunction(obj: any): bool;
export function isNumeric(value: any): bool;
export function isPlainObject(obj: any): bool;
export function isWindow(obj: any): bool;
export function isXMLDoc(node: Node): bool;
export function makeArray(obj: any): any[];
export function map(array: any[], callback: (elementOfArray: any, indexInArray: any) =>any): JQuery;
export function merge(first: any[], second: any[]): any[];
export function noop(): any;
export function now(): number;
export function parseJSON(json: string): Object;
//FIXME: This should return an XMLDocument
export function parseXML(data: string): any;
export function queue(element: Element, queueName: string, newQueue: any[]): JQuery;
export function trim(str: string): string;
export function type(obj: any): string;
export function unique(arr: any[]): any[];
}
然后只需使用:
import $ = module("jquery");
这假定您的 jquery js 文件位于同一目录中并命名为 jquery.js。您可以在 my blog 的下载部分看到我的示例。 .
关于jquery - 如何使用 Typescript 通过 AMD 模块加载 Jquery 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13529010/
我最近在我的机器上安装了 cx_Oracle 模块,以便连接到远程 Oracle 数据库服务器。 (我身边没有 Oracle 客户端)。 Python:版本 2.7 x86 Oracle:版本 11.
我想从 python timeit 模块检查打印以下内容需要多少时间,如何打印, import timeit x = [x for x in range(10000)] timeit.timeit("
我盯着 vs 代码编辑器上的 java 脚本编码,当我尝试将外部模块包含到我的项目中时,代码编辑器提出了这样的建议 -->(文件是 CommonJS 模块;它可能会转换为 ES6 模块。 )..有什么
我有一个 Node 应用程序,我想在标准 ES6 模块格式中使用(即 "type": "module" in the package.json ,并始终使用 import 和 export)而不转译为
我正在学习将 BlueprintJS 合并到我的 React 网络应用程序中,并且在加载某些 CSS 模块时遇到了很多麻烦。 我已经安装了 npm install @blueprintjs/core和
我需要重构一堆具有这样的调用的文件 define(['module1','module2','module3' etc...], function(a, b, c etc...) { //bun
我是 Angular 的新手,正在学习各种教程(Codecademy、thinkster.io 等),并且已经看到了声明应用程序容器的两种方法。首先: var app = angular.module
我正在尝试将 OUnit 与 OCaml 一起使用。 单元代码源码(unit.ml)如下: open OUnit let empty_list = [] let list_a = [1;2;3] le
我在 Angular 1.x 应用程序中使用 webpack 和 ES6 模块。在我设置的 webpack.config 中: resolve: { alias: { 'angular':
internal/modules/cjs/loader.js:750 return process.dlopen(module, path.toNamespacedPath(filename));
在本教程中,您将借助示例了解 JavaScript 中的模块。 随着我们的程序变得越来越大,它可能包含许多行代码。您可以使用模块根据功能将代码分隔在单独的文件中,而不是将所有内容都放在一个文件
我想知道是否可以将此代码更改为仅调用 MyModule.RED 而不是 MyModule.COLORS.RED。我尝试将 mod 设置为变量来存储颜色,但似乎不起作用。难道是我方法不对? (funct
我有以下代码。它是一个 JavaScript 模块。 (function() { // Object var Cahootsy; Cahootsy = { hello:
关闭。这个问题是 opinion-based 。它目前不接受答案。 想要改进这个问题?更新问题,以便 editing this post 可以用事实和引文来回答它。 关闭 2 年前。 Improve
从用户的角度来看,一个模块能够通过 require 加载并返回一个 table,模块导出的接口都被定义在此 table 中(此 table 被作为一个 namespace)。所有的标准库都是模块。标
Ruby的模块非常类似类,除了: 模块不可以有实体 模块不可以有子类 模块由module...end定义. 实际上...模块的'模块类'是'类的类'这个类的父类.搞懂了吗?不懂?让我们继续看
我有一个脚本,它从 CLI 获取 3 个输入变量并将其分别插入到 3 个变量: GetOptions("old_path=s" => \$old_path, "var=s" =
我有一个简单的 python 包,其目录结构如下: wibble | |-----foo | |----ping.py | |-----bar | |----pong.py 简单的
这种语法会非常有用——这不起作用有什么原因吗?谢谢! module Foo = { let bar: string = "bar" }; let bar = Foo.bar; /* works *
我想运行一个命令: - name: install pip shell: "python {"changed": true, "cmd": "python <(curl https://boot
我是一名优秀的程序员,十分优秀!