不知道(公司里)觉得不好懂的有多少人, 这边我统一加上一些解释,
具体的文档可以到官方文档或者 SegmentFault 上搜索. 这里只涉及两个方面:

  • 目前简聊里的配置每一个部分对应什么意思
  • 打包后在 Gulp, Sneaky, HTML 当中怎么引用资源

配置的意思

  • entry

entry 当中是 js 文件引用的入口, 一般每个 entry 的属性对应一个文件
比如 main 这个属性, 内容是数组, 代表这个文件打包后引用哪些文件
一般 vendor 这个 entry 对应第三方模块
另外有一些 webpack 开头的文件, 属于调试使用的

这篇文章很重要, 简聊很多是照着这边做的:
http://kevinold.com/2015/02/04/configure-webpack-dev-server-and-react-...

  • output

生成的文件怎样访问的问题, 主要 pathfilename 两个属性
path 可能对应文件路径, 也可能是从 url 访问的情况下的路径
filename 用来配置生成的文件名, 比如 [hash] 用于生成 Hash, 看文档
http://webpack.github.io/docs/configuration.html#output-filename
另外 publicPath 我们也用, 在 path 属性之前的, 比如调试或者 CDN 之类的域名

  • module

module 当中主要配置 loaders, 需要看对应的各种 loader 的 README 才行
简聊也用了 noParse, 声明这个模块不需要 parse 查找依赖, 这是未来性能做的

  • resolve

这个属性里主要设置 extensions, 也就是文件后缀名
查找依赖的时候的会以此查找这里设置的几个文件名来查找文件

  • plugins

查看具体插件的意思, 前面的配置都是关于怎么: 查找文件, 编译文件, 导出文件
其他一些功能, 就需要 plugins 来做了, 比如编译, 导出 Hash 的表, 导出 CSS 等等

怎样使用静态资源

Webpack 由两种模式, 或者说两个命令来提供静态资源:

  • webpack, 编译命令, 静态资源打包, 生成到 output 属性配置的位置, 结果是文件
  • webpack-dev-server, 打包, 但是结果是以 HTTP 服务器的方式访问的

所以简聊在开发时, 开发环境跟编译结果是用不同的 HTML 来访问静态资源的
一般 output.path 都是 build, 这个 build 就会出现在两边的路径当中
具体看简聊的配置, 总之都是逐个环境写出来的

静态资源 Hashing 是自带的功能, 通过 filename 属性的 [hash] 或者 [chunkhash] 启用
引用以后生成在 path 对应路径的文件名当中就带好了 Hash
实际上 Hash 是有一些配置选项的, 可以看文档写的:
https://github.com/webpack/file-loader#filename-template-placeholders

Hash 的内容是打包结束, 通过一个 plugin 抓去出来的, 变成一个 JSON 文件
所以最后项目上线的时候, Gulp 或者 Express 就需要去读这个文件生成 HTML
目前简聊当中两种办法都已经用了.. 取决于 HTML 是什么渲染的

总结

总体上 Webpack 做的, 就是从 entry 引入文件, 通过 loaders 编译, 从 output 输出
然后其他功能由 plugins 写的其他的方法引入, 进行分包, Hashing 等等

关于简聊 Webpack 配置的一些注释相关推荐

  1. 不聊webpack配置,来说说它的原理

    最近在前端论坛闲逛,看到了一些讲parcel.webpack的文章,就突然很好奇,每天都在用的打包工具,他们打包的原理究竟是什么.只有知道了这一点,才可以在众多的打包工具里,找到最适合的那个它.在了解 ...

  2. vue-cli中的webpack配置

    编辑模式下显示正常,打开的时候不知道为啥排版有问题. segementfalut链接在这里 版本号 vue-cli 2.8.1 (终端通过vue -V 可查看) vue 2.2.2 webpack 2 ...

  3. webpack打包生成的map文件_从这十几个方面优化你的 Webpack 配置

    目录 开发环境性能优化 生产环境性能优化 开发环境性能优化 优化打包构建速度 HMR 优化代码调试 source-map HMR ❝ 概念:「HMR:」 hot module replacement ...

  4. 基于Vue-cli和Vux的webpack配置

    基于vue-cli配置 然后使用vux的webpack配置 npm i vue-cli -g // 如果还没安装 vue init airyland/vux2 projectPathcd projec ...

  5. vue-cli webpack配置分析 - chenBright - SegmentFault 思否

    相信vue使用者对vue-cli都不会陌生,甚至可以说,很熟悉了,但对其webpack的配置可能知之甚少吧. 过完年回来后,我接手了公司的新项目.新项目是一个spa.很自然,我就想到了vue-cli脚 ...

  6. 结合webpack配置_呕心沥血编写的webpack多入口零基础配置 【建议收藏】

    最近在做项目的时候遇到了一个场景:一个项目有多个入口,不同的入口,路由.组件.资源等有重叠部分,也有各自不同的部分.由于不同入口下的路由页面有一些是重复的,因此我考虑使用 Webpack 多入口配置来 ...

  7. react webpack配置

    react webpack配置 接上期 webpack的基础配置 同样附上个人git仓库地址:https://gitee.com/zhaosir1/webpack-base-react-cli.git ...

  8. Koa2仿知乎服务端项目:Webpack配置

    项目简介 该项目为一个后端项目,该项目仿"知乎",模拟实现了: JWT用户认证.授权模块 上传图片模块 个人资料模块 关注与粉丝模块 话题模块 问题模块 答案模块 评论模块 共计4 ...

  9. 《转》vue-cli的webpack模板项目配置文件注释

    一.文件结构 本文主要分析开发(dev)和构建(build)两个过程涉及到的文件,故下面文件结构仅列出相应的内容. ├─build │ ├─build.js │ ├─check-versions.js ...

最新文章

  1. mysql e 导出数据库_mysql导出数据库几种方法
  2. android 分辨率合集,Android编程之分辨率处理相关代码段合集
  3. linux启动运行级别上机,linux的启动及其运行级别
  4. android 仿微信聊天气泡显示图片,实现仿照微信聊天气泡里显示图片效果的自定义View...
  5. 学习Java需要用到什么软件?
  6. SecureCRT的自动登录和自动脚本记录功能图解
  7. 第四次测试--面向对象
  8. python程序会监控错误的语句_python装饰器实现对异常代码出现进行自动监控
  9. oracle存储过程多分支怎样写,如何从存储过程返回多行? (Oracle PL / SQL)
  10. 【Java】关键词assert的使用
  11. java 删除.svn_使用JAVA的程序删除项目中的SVN目录
  12. oracle的一些操作
  13. 关于bmp图片的c语言算法读入,BMP图像直方图均衡算法(C语言大作业)
  14. ubuntu Nvidia dkms 驱动恢复
  15. 咖啡加盟10年经验分享:咖啡店12种危机处理方式,提升回头客
  16. office修复找不到msi_Microsoft Office安装程序找不到ProPlus.WW\ProPlusWW.msi
  17. d3 企业图谱 仿天眼查 企查查
  18. 从浏览器中打开我们的应用
  19. python中label函数_python实现在函数图像上添加文字和标注的方法
  20. apollo学习之---(19)commen-filter学习

热门文章

  1. 数据结构与算法试题集锦
  2. STL六大组件:分配器、容器、迭代器、算法、仿函数、适配器
  3. Redhat 图形模式与命令行模式的切换
  4. VS.net 2005 试用(1)
  5. codeforce A. Design Tutorial: Learn from Math
  6. 熊猫直播Rancho发布系统构建之路
  7. 多形态MVC式Web架构:完成实时响应
  8. [AsyncHandle]什么引发了ObjectDisposedException?
  9. SBS2003 migrate to SBS2008 资料准备
  10. tensorflow学习函数笔记