最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

webpack写jquery插件的环境配置

来源:懂视网 责编:小采 时间:2020-11-27 22:22:58
文档

webpack写jquery插件的环境配置

webpack写jquery插件的环境配置:客户需求要一个具备树结构、带复选框的下拉选择控件;在网上找到了select2、autocomplete都不满足要求。于是自己用ztree加bootstrap dropdown组合开发了一个下拉树选择控件。决定用webpack打包,开发一个完整的jquery控件,顺便系统的学习一下webp
推荐度:
导读webpack写jquery插件的环境配置:客户需求要一个具备树结构、带复选框的下拉选择控件;在网上找到了select2、autocomplete都不满足要求。于是自己用ztree加bootstrap dropdown组合开发了一个下拉树选择控件。决定用webpack打包,开发一个完整的jquery控件,顺便系统的学习一下webp

客户需求要一个具备树结构、带复选框的下拉选择控件;在网上找到了select2、autocomplete都不满足要求。于是自己用ztree加bootstrap dropdown组合开发了一个下拉树选择控件。决定用webpack打包,开发一个完整的jquery控件,顺便系统的学习一下webpack。

目录结构:

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

说明:jquery用1.12的版本是为了兼容IE9浏览器,开发环境用的webpack's Watch Mode,由于项目比较小,调试就直接用chrome打开dist/select-tree.html文件。

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' // 方便调试
};

说明:重点在output.library和output.libraryTarget

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

webpack写jquery插件的环境配置

webpack写jquery插件的环境配置:客户需求要一个具备树结构、带复选框的下拉选择控件;在网上找到了select2、autocomplete都不满足要求。于是自己用ztree加bootstrap dropdown组合开发了一个下拉树选择控件。决定用webpack打包,开发一个完整的jquery控件,顺便系统的学习一下webp
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top