webpack2正式版
webpack2正式版,简朴轻易的构建单页和多页用用。(启用tree-shaking新技术)
地点:avalon-webpack-start
这个启动包的针对单页运用和多页运用做了特别处置惩罚,能够夹杂开辟。一切都是可设置,富特征,基于webpack已供应代码热加载,运用postCss(可增加替代sass,less)预处置惩罚css,代码支解等等更多。(下一步是:完美单元测试,代码覆蓋率报告)
假如人人有更好的主意及发起请提Issues。
以为不错的话,请Star一下本项目,这是对作者最大的支撑。
最先
确认好你的环境设置,然后就可以够最先以下步骤。
$ git clone https://github.com/sayll/avalon-webpack-start.git
$ cd avalon-webpack-start
$ npm install # Install project dependencies
$ npm start # Compile and launch
关于package.json中dependencies的相干依靠,请自行下载。本例子以react为框架
假如一切顺利,就可以一般翻开端口:127.0.0.1:1000
开辟过程当中,你用得最多的会是npm start,然则这里另有许多别的的处置惩罚:
npm run <script> | 诠释 |
---|---|
start | 第一次运转启用。天生DLL文件,效劳启动在1000端口,代码热替代开启。 |
deploy | 删除旧文件,天生新DLL,打包相干文件(默许目次~/build)。 |
dev | 与npm start 相似雷同,只要但DLL文件存在时可用。加快开辟速率。 |
test | 开启Karma测试并天生覆蓋率报告。 |
visualizer | 打包资本剖析 |
build | 同dev 在DLL文件存在时,加快打包速率。 |
clean | 消灭打包的文件 |
cnpm | 替代为淘宝镜像 |
dll | 合适第一次启动时运转,天生DLL文件。 |
第一次运转,引荐运用
start
,后续调试运用dev
打包引荐运用
deploy
现在一切相干开辟打包都需依靠
dll
,当不清楚时,运转一下npm run dll
,再完成接下来的操纵。
顺序目次
.
├── build # 一切打包设置项
├── config # 项目设置文件
├── server # Express 顺序 (运用 webpack 中间件)
│ └── main.js # 效劳端顺序进口文件
├── app # 顺序源文件
│ ├── html # 多页或单页运用的进口HTML
│ ├── source # 大众的资本文件
│ ├── static # 静态文件(不要随处imported源文件,一切内部文件经由过程index.js引入,设置后零丁打包)
│ └── view # 主路由和异步支解点
│ └── index # 婚配html文件夹中的index.html。(css,js文件名对应文件夹名,可直接打包无需零丁引入)
│ ├── index.js # 直接与index.html婚配的进口文件,能够作为单页运用的进口,在内部定义本身的项目目次
│ ├── index.css # 如是多页运用,可设置对应的CSS文件,直接婚配。
│ └── other ** # 页面的其他资本文件,经由过程index.js引入
└── test # 单元测试(往后调解,待开辟ing)
款式
运用postCss(可增加替代sass,less)预处置惩罚css。
效劳端
这个项目标效劳端运用Koa。须要注重的是,只要一个目标那就是供应了webpack-dev-middleware
和 webpack-hot-middleware
(代码热替代)。运用自定义的Koa顺序替代webpack-dev-server,让它更轻易完成universal 衬着和为了不使这个包过于巨大。
打包优化
Babel被设置babel-plugin-transform-runtime能够让代码更优化。dll文件加快打包和开辟速率。资本的特别婚配,防止引入无关的包文件。
后续
项目地点:avalon-webpack-start
功能将逐步完美,文档方面也会补全。案例也会编写。敬请期待!