前言:

还记得两年前刚来公司才几个月,经理就安排我去做JS地图相关的维护和开发工作,然后就跟着一个公司老鸟(没俩月他离职了)熟悉地图相关的功能。

本人嘛,那会前端JS实际开发经验也才几个月,然后当我看见公司地图的上万行源代码,可想而知,直接懵逼。但是没办法呀,只能坚持去慢慢看,来来回回的找引用关系,熟悉每个模块方法实现的功能,于是乎,从那之后,我感觉什么一两千行代码都是 so easy。

言归正传,正是在于这种情况下,在业务复杂的时候,相对应的代码量会很多,上万行的代码也不再是梦,但是这种情况下,在后期维护的过程中,是很不方便的,因此在最近尝试新版本的开发,采用webpack进行打包发布

webpack介绍:在开发过程中,我们可以利用模块化开发(CMD模式),将一个大型的功能按不同的小功能,拆分成不同的模块(文件),这样在以后的维护中,我们可以针对不同的功能进行维护,不至于在一个上万行的文件中,找来找去,而且当一个文件很大的时候,电脑不好的在查看,修改的时候会很卡,也不利于工作效率,因此产生了模块化开发这个概念;而webpack正是将模块化进行打包发布处理的一个工具

常见模块化开发规范:CMD(seaJS)  AMD(requireJS...)

一、webpack环境搭建1.webpack安装

首先需要安装nodeJS,先在nodeJS官网下载,进行NodeJS安装

下载地址   https://nodejs.org/en/download/

下载完毕后,进行安装,一切都以默认的选择即可

2.npm安装

安装完毕后,打开cmd工具,输入命令

npm  install  --save  mocha

等待安装完毕

3.webpack安装

cmd工具中,输入命令

npm  install  webpack  -g

执行命令安装webpack

到此webpack安装完毕,可以使用

webpack -h

来查看版本号

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAY8AAABBCAIAAACmbb/AAAAFlUlEQVR4nO2bUXbkKAxFvaBe8CyHzfQ++mfi4wLpIWGMSXLvV1kW0kOAyj6VHH/++3sAAOwNnQoAAAAAAAAAAAAAAAAA/qeU8raED3bTAwCPU76IeOqx8VBT0Hoin0XkCnHXEwMAjzDWrVrjykPb1RP5HAzudaVs2G7SRws4K/7K7ySAGrqVDh7pVsHIqbzTmRWfbgW74H15tsYXu5WXrny98QXtkcjxsTcrQLcCyDGlW5VPTHtlqT7rOKae4+1udXWrJnV8FtYrztHU3xxe3fVKYcbXoyJ4iwWwC14LaC+z9qM5yV1/U0/WXhpMuw7rJfLaRBuqytumE3bzs87eOnvo+nipAbYg2D6C/aK747vHIDUq227GhkeaVLBuXfvVEmkfZq8coKsH4H2C3erw33TM7+o2lI6jR73YrcyCnOKv3cesw0C3aoMLqaKSKehW8Bqp3SZORbdNiEQDvcAzPtStWnt3+tc+Euwm5mXEnop/s7/QreAdzDMWbCt3TpcO1fUXxjXd6k6nFvXx/HWcdsk8t67gCHQreAHv/Ae71elcDSmfaP+gc7AHec46SNzT0ymiaZ2l6SBefDEvb5RZ5+4cNSIswHbstjV30zOdHz9BgKfY7fDspmcuPLwAAAAAAAAAAAAAAADAbyb7S5n4O6xUKH6hA9iRp38+H4ufbTGmv76ckhcAlvL04RyOf/PZaqBbjeUFgEX81G41HI1uBbCa63+NnZb2Zad1u16ab0bijcmLr0cJ/XGEfyoU3QpgNdc2cfhvRlU7uzp4dvOzd8sMEmGKf6o/juUFgLtUTUp0q5T9ahGdy5MRh2crgN9C260qrm7VKGE/Ln0q2K0GHnBEwDH/eDS6FcALxJ992suIPRV/8Ztg99lwVl4AmIDoJtUzl+mvO1T7xOS5eRri4s10XX/zMhsHAFZgHvjquJ7vdObxNs/2aTRHVW2uco70gvJJlTToL+abjQMAW8NxBYBvAM8XAAAAAAAAAAAAAAAwivgrh6U64B5vrRf7JA0/7Y3xy1vVbntmWM/+rcr0fLH+L6/7VtvuZLfzUDG9Wz0937nx49Gyecd0Tu9WC5Yj4uPJeK7+Y3rWsW1T0MLefbp5IvvTyt+qTDbvyg0pcr3erWbJGDtHs/wnszh96mth4O7cb5KVqelWY/7DzD3Gs/JOl/Fju1X5pLW3Y7W/NyQuTAfv2s/PKf1aZ8Te5m1VtfrbvEH9phgzvh7lBTHFR5wPZx29aR5OHSIitX7zbnwK3VlH4nh5xSyCGQVm/T2RxaIrfh3lc5doe/Zze5kSNhDWW9327pjOYF4z0blvTE+hM7UWOruYQoWIL4Lo+gsZ3TrE1er4Wf9IbYP+Zl4R0/MXdtMzFV9vmHjeR4jvDDHtgXLHhaXCDu/CMVWRvOWzSWVPRWR7RfZTJaOLjjm9/vH53sz7kE4ROZU3eHdsHbuXhzXBHbvV8bXvq91/2g9rqp6zF2pMWPdS2MXAAZHZvG3pvPoET0WrvzV6CrPLIYbcr//AfAWpdX9CZ+XjlS5iidwd3rHxOpgzTe2f+XTL4Wm9X0dNtsqefXhg3Eec51Q3MS8j9lT84fMfufstupVYr2GdEWGRvMG7v71bdVellNL6nLQDvcux/Te8ma4Zb+rMbp1UXqFTxzHXJa5BrIi5vuYsRLrIwlVz7PqIvJ5FLEFXTyRO1j/oE99yXn10QLFe3Z2zlGp65RPTM76KZpw2qdZW7WBPVXdeprOYr+fvSRWzMH3MvEKnaT+cdalStJfmre682lCR+gsZpipdB5HO1GPazSBCjxfHnJHQI/Jm4wi7DiuqJCpQLMRcdqSd8zs6eswS5sV5euJvFfa7rG+WTeoJq9m/124ur8u7+vdfXwAAAAAAAAAAAAAAAAAAAAAAAAC48A8Gm7LHD7hw+AAAAABJRU5ErkJggg==" alt="" />

到此,webpack安装完成

二、webpack打包

1. 打开cmd工具,进入你的开发文件夹,其中此文件夹必须包含webpack.config.js文件,config配置参考如下

var webpack = require("webpack")
module.exports = {
entry: {
"mcDemoMain": "./mcDemoMain.js"//直接require进来的文件会直接打包到这个文件中,如require('./common/Enum'),延迟加载的文件则不会,如require("bundle?lazy&name=demo!./demo/demo1")
},
output: {
path: "../../dist/demo/1.0",//设置打包后的js的输出位置
filename: "[name].js",//和入口文件的名字相同
chunkFilename: "[name].young.js",//值模块里需要单独打包的文件 require.ensure
//path: path.join(__dirname, 'static/js/app/dist'), //设置打包后的js的输出位置
//filename: "[name].[hash].js", //和入口文件的名字相同
publicPath: "[sDomain]static/dist/demo/1.0/" //浏览器会从这个目录开始查找模块
},
module: {
loaders: [
//{ test: /\.css$/, loader: "style!css" },
//{ test: /\.js[x]?$/, exclude: /node_modules/, loader: 'babel-loader', query: { presets: 'es2015' } },
]
},
plugins: [
new webpack.BannerPlugin('文件顶部注释说明'),
// new webpack.IgnorePlugin(/\.\/AsnyModuleA.js$/),//排除不想打包进去的插件
//new webpack.ProvidePlugin({ //这是把jquery挂到全局上,不用每个模块都去require
// "AsnyModuleA": '../../../dist/demo/AsnyModuleA.js',
//}),
//new webpack.optimize.CommonsChunkPlugin('common.js') //有多个入口文件的话提取公共部分,利用浏览器缓存 然后 commonsPlugin 可以用于分析模块的共用代码, 单独打一个包出来:
]
, resolve: {
//modulesDirectories: 'C:\Users\Administrator\AppData\Roaming\npm\node_modules',//["C:\Users\Administrator\AppData\Roaming\npm\node_modules"],
//root: 'C:\Users\Administrator\AppData\Roaming\npm\node_modules',
alias: {
//jquery: path.join(__dirname, 'dev/jquery/jquery.js'),
//AsnyModuleA: "../../../dist/demo/start/commom/AsnyModuleA.js", //在正常情况下我们以CommonJS风格引用avalon,以require('avalon')
//'../avalon': path.join(__dirname, 'dev/avalon/avalon.js')//由于oniui都以是../avalon来引用avalon的,需要在这里进行别名
}
},
//externals: {
// 'AsnyModuleA': 'AsnyModuleA'
//}
}

2.cmd进入开发目录后,输入

webpack

就可以进行打包了,如果显示以下则表示成功

aaarticlea/png;base64,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" alt="" />

注明:

sDomain为动态URL路径地址,下次更新sDomain动态路径配置的问题

【原创文章,转载请尊重原作者】

最新文章

  1. js 对cookie 的操作
  2. JAVA学习笔记之static——2016.3.10
  3. angularjs + seajs构建Web Form前端(二)
  4. git学习笔记2
  5. C语言 百炼成钢4
  6. java的RMI(Remote Method Invocation)
  7. Flash Socket简单调试工具
  8. C# DataTable的详细用法
  9. 基于SMB协议的共享文件读写 博客分类: Java
  10. Spark任务流程笔记
  11. doubi -- 初创
  12. C# Dapper 轻量ORM调试对SQLServer
  13. python学习-01
  14. [转]Centos 7 安装部署 GitLab 服务器
  15. window 安装mysql
  16. 20155210 Exp8 WEB基础实践
  17. [转][html][jquery]
  18. Unity容器声明周期管理
  19. 如何让转换的视频支持HTML5在线播放
  20. 首次使用windows管理界面访问安装在UNIX或linux下的DP服务器时提示无权限访问的解决方法

热门文章

  1. memcache的使用
  2. 查看文件系统类型的Linux命令
  3. shell脚本实现覆盖写文件和追加写文件
  4. PHP浮点数的一个常见问题的解答
  5. jQuery CSS3 照片墙
  6. laravel和dingoapi的结合使用
  7. mongodb创建用户和密码
  8. BestCoder Round #36 [B] Gunner
  9. Fireworks Extension —— 开发篇(Dom模型)
  10. BroadcastReceiver 案例