首页 文章

SPFx不能使用JQuery?

提问于
浏览
1

我正在使用由Yeoman创建的SPFx开发一个全新的SharePoint Web部件,脚手架模板很好,为JQuery和JQueryUI添加NPM也没有遇到任何问题,我看到 GULP SERVE 在后台运行没有任何错误 .

当我在JQWebPart.ts中添加以下行时,会出现问题:

import * as jQuery from 'jquery';

一旦添加了上面的行, GULP SERVE 输出了很长的错误列表,下面是所有错误的最后一行:

[16:54:06] Error - typescript - node_modules\@types\jquery\index.d.ts(7502,33): error TS2314: Generic type 'Callbacks<T, Function>' requires 2 type argument(s).
[16:54:06] Error - typescript - node_modules\@types\jquery\index.d.ts(7503,36): error TS2314: Generic type 'Deferred<TR, TJ, any, TN>' requires 4 type argument(s).
[16:54:06] Error - typescript - node_modules\@types\jquery\index.d.ts(7504,41): error TS2314: Generic type 'Event<TTarget, EventTarget, TData>' requires 3 type argument(s).
[16:54:06] Error - typescript - node_modules\@types\jquery\index.d.ts(7505,36): error TS2314: Generic type 'Deferred<TR, TJ, any, TN>' requires 4 type argument(s).
[16:54:06] Error - typescript - node_modules\@types\jquery\index.d.ts(7506,37): error TS2314: Generic type 'AjaxSettings<TContext, any>' requires 2 type argument(s).
[16:54:06] Error - typescript - node_modules\@types\jquery\index.d.ts(7510,28): error TS2314: Generic type 'jqXHR<TResolve, any>' requires 2 type argument(s).
[16:54:06] Error - typescript - node_modules\@types\jquery\index.d.ts(7511,35): error TS2314: Generic type 'Promise<TR, TJ, any, TN>' requires 4 type argument(s).
[16:54:06] Error - typescript - node_modules\@types\jquery\index.d.ts(7517,32): error TS2314: Generic type 'PlainObject<T, any>' requires 2 type argument(s).
[16:54:06] Finished subtask 'tslint' after 3.95 s
[16:54:06] Error - 'typescript' sub task errored after 3.95 s
 "TypeScript error(s) occurred."

当我尝试使用JQuery时,我不知道我的Web部件发生了什么,是否有任何想法?

1 回答

  • 2

    感谢用户Rohit Waghela,已经有一个解决方案来解决SPFx中与JQuery相关的问题:

    https://thechriskent.com/tag/sharepoint-framework/

    问题是TypeScript和JQuery之间不兼容,所以这里的底线如下:

    1)删除JQuery: npm uninstall @types/jquery

    2)安装兼容版本: npm install @types/jquery@2.0.48 --save-dev

相关问题