webpack学习笔记
webpack介绍
- 一个打包工具
- 一个模块加载工具
- 各种资源都可以当成模块来处理
- 官方网站
webpack安装
全局安装
|
|
项目中安装
|
|
解析package.json
|
|
webpack配置
每个项目下都必须配置有一个webpack.config.js,就是一个配置项,告诉 webpack 它需要做什么。
|
|
webpack使用
创建文件结构如下
源文件放在src中,把打包后的文件放在dist中。
|
|
创建package.json
|
|
创建webpack.config.js
|
|
|
|
|
|
在配置文件下,运行webpack
|
|
运行 dist/app.bundle.js
|
|
webpack使用loader
loaderLoader可以理解为是模块和资源的转换器,它本身是一个函数,接受源文件作为参数,返回转换的结果。这样,我们就可以通过 require 来加载任何类型的模块或文件,比如 CoffeeScript、 JSX、 LESS 或图片。
项目目录结构
|
|
安装loader
|
|
修改相关文件
|
|
|
|
|
|
|
|
修改配置文件
|
|
运行webpack命令
|
|
webpack使用插件
插件的使用一般是在 webpack 的配置信息 plugins 选项中指定。Webpack 本身内置了一些常用的插件,还可以通过 npm 安装第三方插件。
BannerPlugin
我们利用一个最简单的 BannerPlugin 内置插件来实践插件的配置和运行,这个插件的作用是给输出的文件头部添加注释信息。
|
|
运行webpack
|
|
webpack开发环境
webpack-dev-server开发服务是一个更好的选择。它将在 localhost:8080 启动一个 express 静态资源 web 服务器,并且会以监听模式自动运行 webpack,在浏览器打开 http://localhost:8080/ 或 http://localhost:8080/webpack-dev-server/ 可以浏览项目中的页面和编译后的资源输出,并且通过一个 socket.io 服务实时监听它们的变化并自动刷新页面。
|
|
|
|
解决方法
|
|
查看结果
http://localhost:8088/webpack-dev-server/
服务实时监听它们的变化并自动刷新页面
注意
但这里可能会遇到,我们改动js文件,无法实时更新的问题,很大一部分原因是没有理解编译后的app.bundle.js是虚拟的问题,本地其实质是没有编译的,
所以我们不能用本地的路径去处理,
需要将html文件中script中src更改为http://localhost:8080/dist/app.bundle.js.在从新更改js文件,发现会自动更新了。
webpack学习心得
看了很多资料,总算对webpack有了初步的认识,后续慢慢研究更强大的功能。