2017-02-14 3 views
0

Mein webpack.config.js 'JQuery' istWebpack Fehler TS2339: Property 'Dialog' existiert nicht auf Art

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" } 
     ] 
    } 
} 

Inhalt 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" 
    } 
} 

Meine ts-Datei

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(); 
}); 

die kompilierte Version zu erzeugen, ich bin mit folgendem Befehl ein:

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

Aber ich in folgenden Fehler leite:

ERROR in /client/scripts/AdminPanel/AdminPanel.ts (9,21): Fehler TS2339: Eigenschaft ‚Dialog 'existiert nicht beim Typ' JQuery '.

Kann mir bitte jemand helfen, den Fehler zu beheben?

Antwort

0

Ich denke, es ist ein Fehler im Webpack oder es kann eine Funktion sein. Ich schreibe hier eine Antwort, nur für den Fall, dass jemand es in Zukunft braucht. Hinzufügen eines Verweises auf d.ts am Anfang der Datei wie Modulreferenz gelöst das Problem.

/// <reference path="../../../node_modules/@types/jqueryui/index.d.ts" /> 

Gleiches gilt für alle externen js-Dateien.

1

Sie müssen TypeScript-Definitionen für jQuery UI installieren.

Verwandte Themen