Cette fois je vais vous montrer comment configurer webpack avec jquery. Quelles sont les précautions pour configurer webpack avec jquery. Voici des cas pratiques, jetons un oeil.
Le client a besoin d'un contrôle de sélection déroulant avec une structure arborescente et une case à cocher ; j'ai trouvé select2 et autocomplete sur Internet, mais aucun d'eux ne répondait aux exigences. J'ai donc utilisé ztree pour ajouter bootstrap La combinaison déroulante développe un contrôle de sélection d'arborescence déroulante. J'ai décidé d'utiliser webpack pour l'empaquetage, de développer un contrôle jquery complet et d'apprendre systématiquement webpack.
Configuration package.json :
{ "name": "select-tree", "version": "0.0.1", "description": "下拉树形选择,带复选框", "license": "MIT", "author": "kaikai", "repository": "https://gitee.com/hkgit/select-tree", "scripts": { "start": "webpack --watch", "build": "webpack --config webpack.config.js" }, "dependencies": { "jquery": "~1.12.4", "bootstrap": "^3.3.7", "jquery-slimscroll": "latest", "ztree": "latest" }, "devDependencies": { "css-loader": "^0.28.7", "html-webpack-plugin": "^2.30.1", "style-loader": "^0.19.1", "uglifyjs-webpack-plugin": "^1.1.4", "webpack": "^3.10.0" }, "bugs": { "url": "https://gitee.com/hkgit/select-tree/issues" }, "keywords": [ "javascript", "select", "tree", "checkbox" ] }
Remarque : jquery utilise la version 1.12 pour être compatible avec le navigateur IE9 et le mode Surveillance de webpack est utilisé dans l'environnement de développement. Étant donné que le projet est relativement petit, pour le débogage, utilisez simplement Chrome pour ouvrir directement le fichier dist/select-tree.html.
Code webpack.config.js :
const path = require('path'); const webpack = require('webpack'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const UglifyJSPlugin = require('uglifyjs-webpack-plugin'); module.exports = { entry: { vendor: ['jquery'], // 把需要引入的插件单独分出一个入口,和插件主体分开 main: './src/select-tree.js' }, output: { filename: 'select-tree-min.js', path: path.resolve(dirname, './dist'), library: 'selectTree', // 插件名称 libraryTarget: 'umd' // 插件支持CommonJS2,CommonJS,amd,var }, // resolve: { // npm下载的jquery不需要制定路径 // modules: [path.join(dirname, "node_modules")], // alias: { // jquery: 'jquery/dist/jquery.js' // } // }, module: { rules: [{ test: /\.css$/, use: ['style-loader', 'css-loader'] }] }, plugins: [ new HtmlWebpackPlugin({ // 自动生成html template: './src/select-tree.html', filename: 'select-tree.html' }), new UglifyJSPlugin({ // 压缩代码 sourceMap: true }), new webpack.optimize.CommonsChunkPlugin({ // 单独打包jq插件,此插件的依赖库单独抽出来,不影响插件的开发 name: "vendor", filename: "vendor.min.js" }), new webpack.ProvidePlugin({ // 自动加载jq $: 'jquery', jQuery: 'jquery' }) ], devtool: 'source-map' // 方便调试 };
Remarque : l'accent est mis sur output.library et output.libraryTarget
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le chinois PHP. site web!
Lecture recommandée :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!