我的 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/