javascript - 如何在 typescript 中使用 jquery ui 和 commonjs

标签 javascript jquery jquery-ui typescript commonjs

为了获得更多上下文,我决定将所有模块保留为 commonjs 格式以实现可移植性,并使用 browserify 和其他一些东西来捆绑前端的东西。

我使用 TypeScript 进行类型检查,但我不确定如何在我的配置中使用 jquery ui。请参阅下面的简单示例。

package.json

{
  "main": "Main.js",
  "license": "MIT",
  "dependencies": {
    "@types/jquery": "^2.0.34",
    "@types/jqueryui": "^1.11.31"
  }
}

tsconfig.json

{
  "compilerOptions": {
    "module": "commonjs",
    "baseUrl": ".",
    "allowSyntheticDefaultImports": true,
    "outDir": "build/js",
    "target": "es5",
    "sourceMap": true,
    "noImplicitAny": true,
    "typeRoots": ["./node_modules/@types/*"]
  }
}

Main.ts

'use strict';
import $ from 'jquery'

export class Main {
    constructor(public app: string) {
        $(() => {
            $('#date').datepicker();
        })

    }
}

我从 typescript 编译器得到的错误是 Error:(7, 24) TS2339: Property 'datepicker' does not exist on type 'JQuery'.然而 datepicker 是在 node_modules/@types/jqueryui/index.d.ts:1091 中定义的.

所以我的问题是如何让 jquery ui 和 commonjs 在 typescript 中工作。我试图避免使用三斜杠指令(例如 ///<reverence path="..." />

最佳答案

试试这个:

import $ from "jquery";
declare var global: any
global.jQuery = $;
import "jqueryui";

关于javascript - 如何在 typescript 中使用 jquery ui 和 commonjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40858756/

相关文章:

javascript - 内部左侧导航

Jquery-UI 对话框 - 在没有 DIV 的情况下运行

php - 自动完成:使用远程数据源未检测到任何结果

javascript - 检查momentjs中日期文本是否有毫秒和秒

javascript - native react : `this.state` 在 `render` 中未定义

javascript - 如何设置cookie只显示一次通知栏

regex - jquery 可使用正则表达式排序

javascript - 如果我使用 Jint 引擎在 JavaScript 代码中定义一个 .Net 类会发生什么

javascript - 无法使用 Firebase Messaging 编译 React Native 应用程序?

jquery - 如何用jquery统计tr元素?