wdw: 通过 webpack 来驱动 Web 开发
- webpack 前端工程化应用
- 基于 webpack 的多页应用架构
- 基于
[email protected]
的前端工程化实践- 没有任何魔法, 便于扩展出适合自己的前端工程化方案, 例如单页, react, vue 等
- 使用
ES2015
来开发- 使用
ES2015
模块来写标准的代码
- 使用
- 支持多页面的架构
- 区分开发模式
- 开发模式下不做压缩
- 开发模式下不做文件 hash
- 开发模式下开启 sourcemap
- 抽离出独立的 CSS 文件
- 第三方 CSS(vendor.css)
- 项目公共 CSS(app.css)
- 页面 CSS(page.css)
- 提取出公共模块
- 第三方 JS(vendor.js)
- 项目功能 JS(app.js)
- 考虑了前端项目开发过程中的一般问题
- 图片优化(
image-webpack
) - inline manifest(
InlineManifestWebpackPlugin
) - 生成稳定的模块ID(
HashedModuleIdsPlugin
) - 使用
webpack-dev-server
作为开发时的服务器, 并配置了代理
- 图片优化(
首先 npm install
来安装项目依赖, 然后执行 npm start
启动 webpack-dev-server
来开始开发
命令 | 作用 |
---|---|
npm run watch |
执行 webpack 构建并处于 watch 模式, 便于脱离 webpack-dev-server 来开发 |
npm run build |
清理构建文件, 重新执行一次构建, 一般用于发布版本的时候 |
npm run mockserver |
启动 puer-mock 作为 mockserver |
npm run analyzer |
分析项目中的依赖 |
webpack-driven-web/
├── src/ -- 项目源码
├── dist/ -- 构建生成(前端部署的目录)
├── config/
| |── webpack.base.config.js -- webpack 基础配置
| |── project-config.js -- 项目配置和环境配置
| └── HashedModuleIdsPlugin.js -- 用于生成稳定的模块ID(源自 webpack2)
|── _mockserver.json -- puer-mock 接口配置文件
|── _apidoc.html
|── _mockserver.js
|── package.json
└── webpack.config.js