You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
--content-base <file/directory/url/port>: base path for the content.
--quiet: don’t output anything to the console.
--no-info: suppress boring information.
--colors: add some colors to the output.
--no-colors: don’t use colors in the output.
--compress: use gzip compression.
--host <hostname/ip>: hostname or IP. 0.0.0.0 binds to all hosts.
--port <number>: port.
--inline: embed the webpack-dev-server runtime into the bundle.
--hot: adds the HotModuleReplacementPlugin and switch the server to hot mode. Note: make sure you don’t add HotModuleReplacementPlugin twice.
--hot --inline also adds the webpack/hot/dev-server entry.
--public: overrides the host and port used in --inline mode for the client (useful for a VM or Docker).
--lazy: no watching, compiles on request (cannot be combined with --hot).
--https: serves webpack-dev-server over HTTPS Protocol. Includes a self-signed certificate that is used when serving the requests.
--cert, --cacert, --key: Paths the certificate files.
--open: opens the url in default browser (for webpack-dev-server versions > 2.0).
--history-api-fallback: enables support for history API fallback.
最早接触webpack是15年初,那时候也写了几个dome,去年的文章
但是有模块化的没模块的组合,不知道怎么处理,但是RJS可以处理各种有模块化,没模块化的,就一直用的RJS。废话不多话,开始介绍webpack
webpack的基本使用很容易,只要你按照commonjs规范些,commonjs规范是啥的,我觉得其实就是写完一段代码,把要暴露的变量挂载到exports上
例如
//a.js
//b.js
对于commonjs规范的和没规范的js文件怎么打包
1、将没有模块化规范的文件和入口文件作为一个数组,没有模块化的放在前面
例如
2、使用exports-loader插件
使用exports会在没有模块定位的文件后面把你写的变量挂载到 module.exports上,这样就成了commonjs规范
安装完exports-loader插件后,配置文件改成
其它地方正常引入zepto
打包后,在文件中你会看到这么一句话
因此使用exports-loader符合webpack的加载思想.
如果想把公共的打个包可以用uglify
npm install uglify-js -g
"uglify": "uglifyjs src/common/jquery.js src/common/handlebars.js src/common/util.js -o js/common/common.js"
公共模块提取
当多个入口文件引入同一个文件的时候,使用CommonsChunkPlugin可以把它们提取出来(这点 很智能)
你也可以通过配置把它们拿出来

webpack 加载css也很容易
require('style.css')
//和加载js一样这样打包之后,css会通过style标签引入在页面上
其实这样也没啥影响,改还是该源文件,可能有的人看起来不爽,好吧,我们和其它打包工具一样,把它导出来
这里要用上extract-text-webpack-plugin插件
webpack设置banner
编译sass 我就不说了
下面来说说按需加载(这个很重要)
这里要用到bundle-loader插件
chunkFilename一定要写,不写你打包出来的文件不存在于项目中,不知道在哪,你会看到这样的提示
最后说一下加载字符串,用模板渲染
这里要用到html-loader
模板文件
本地服务自动刷新浏览器(webpack-dev-server)
首先安装
npm install webpack-dev-server --save
执行命令
webpack-dev-server --port=3000 --hot --inline
打开localhost:3000 即可访问,改变js文件自动刷新浏览器
--hot和--inline的位置不能颠倒
--hot --inline是一条独立的命令
因为命令太长,我们优化一下
在package.json里面写上
我们就可以使用
npm run start-server
来执行这条命令了tips:
相关链接
webpack指南
一小时包教会 —— webpack 入门指南
webpack工具迁移
webpack expose-loader exports-loader区别
webpack从开发到上线
用UglifyJS2合并压缩混淆JS代码
#2016-09-02
The text was updated successfully, but these errors were encountered: