javascript - Webpack 错误 TS2339 : Property 'dialog' does not exist on type 'JQuery'

标签 javascript jquery typescript webpack

我的 webpack.config.js 是

var path = require('path');

module.exports = {
    entry: {
        'AdminPanel/AdminPanel': '../../client/scripts/AdminPanel/AdminPanel.ts',
        'Registration/Registration': '../../client/scripts/Registration/Registration.ts'
    },
    output: {
        filename: '[name].js',
        path: '../../src/client/scripts'
    },
    resolve: {
        extensions: ['.webpack.js', '.web.js', '.ts', '.js']
    },
    module: {
        loaders: [
            { test: /\.ts$/, loader: 'ts-loader' },
            { test: /\.css$/, loader: "style-loader!css-loader" },
            { test: /\.(woff|woff2|eot|ttf|svg)$/, loader: 'url-loader' },
            { test: /bootstrap\/dist\/js\/umd\//, loader: 'imports?jQuery=jquery' },
            { test: /\.(jpe?g|png|gif)$/i, loader: "file-loader" }
        ]
    }
}

package.json的内容

{
  "name": "test",
  "version": "0.0.0",
  "description": "test",
  "main": "src/server.js",
  "author": {
    "name": "pratik"
  },
  "devDependencies": {
    "@types/body-parser": "^0.0.33",
    "@types/bootstrap": "^3.3.5",
    "@types/cookie-parser": "^1.3.30",
    "@types/express": "^4.0.35",
    "@types/express-handlebars": "0.0.29",
    "@types/jquery": "2.0.40",
    "@types/jqueryui": "^1.11.32",
    "@types/mysql": "0.0.31",
    "css-loader": "^0.26.1",
    "file-loader": "^0.10.0",
    "style-loader": "^0.13.1",
    "ts-loader": "^2.0.0",
    "url-loader": "^0.5.7",
    "webpack": "^2.2.1"
  },
  "dependencies": {
    "body-parser": "^1.16.1",
    "bootstrap": "^3.3.7",
    "cookie-parser": "^1.4.3",
    "express": "^4.14.1",
    "express-handlebars": "^3.0.0",
    "jquery": "^3.1.1",
    "jqueryui": "^1.11.1",
    "mysql": "^2.13.0"
  }
}

我的ts文件

import * as $ from 'jquery';
import 'jqueryui/jquery-ui.js';
import 'bootstrap/dist/css/bootstrap.css';
import 'jqueryui/jquery-ui.css';

$(document).ready(function () {
    alert('hi');
    let s = '<input class="date" type= "date" name= "txtFromUniversityDate" id= "txtFromUniversityDate" placeholder= "Please select joining date." > </p>';
    $('.container').dialog();
});

要生成编译版本,我运行以下命令:

tsc && webpack --config "../../webpack.config.js"--display-error-details --verbose --watch

但是我遇到了以下错误:

/client/scripts/AdminPanel/AdminPanel.ts 中出现错误 (9,21):错误 TS2339:类型“JQuery”上不存在属性“对话框”。

谁能帮我解决这个错误吗?

最佳答案

您需要安装 jQuery UI 的 TypeScript 定义。

关于javascript - Webpack 错误 TS2339 : Property 'dialog' does not exist on type 'JQuery' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42221248/

相关文章:

javascript - Heap 算法演练

javascript - 选择另一个模式弹出窗口后,带选项卡的模式弹出窗口中的 JQuery flot 不会出现

javascript - 使用浏览器调整大小调整、移动和缩放图像和文本 div

javascript - 停止事件监听器

angular - 如何摆脱 Eclipse 中 angular4 项目的 experimentalDecorators 警告

javascript - 区分 webRequest.onBeforeRequest 原始页面与注入(inject)页面

javascript - 在这种情况下如何使用 ng-if 或其他表达式更改文本?

Angular 4,自定义错误处理程序无法识别自定义错误

angular - 如何在 Angular 2+ 中使用带有条件的多个类

javascript - 是否可以在输入元素上使用多种类型属性