当前Web开发面临的困境
- 文件依赖关系错综复杂
- 静态资源请求效率低
- 模块化支持不友好
- 浏览器对高级JavaScript特性兼容程度低
- etc......
webpack概述
webpack是一个流行的前端项目构建工具(打包工具),可以解决当前web开发中所面临的困境。
webpack提供了友好的模块化支持,以及代码压缩混淆、处理js兼容性问题、性能优化等强大的功能,从而让程序员把工作的重心放到具体的功能实现上,提高了开发效率和项目的可维护性。
目前绝大多数企业中的前端项目,都是基于webpack进行打包构建的。
webpack的基本使用
-1、创建列表隔行变色项目
- *项目空白目录,并运行 npm init -y 命令,初始化包管理配置文件 package.json
- 创建 src 源代码目录
- 新建 src > index.htnl首页
- 初始化首页基本的结构
- 运行 npm install jquery -s 命令,安装jQuery
- 通过模块化的形式,实现列表隔行变色的效果
-2、在项目中安装和配置webpack
- 运行 npm install webpack webpack-cli -D 命令,安装 webpack 相关的包
- 在项目根目录中,创建名为 webpack.config.js 的webpack 配置文件
- 在 webpack 的配置文件中初始化如下基本配置:
moudle.exports = { mode: ‘development‘ // mdoe用来指定构建模式 development production(会压缩) }
- 在package.json 配置文件中的 scripts 节点下,新增 dev 脚本如下:
"scripts": { "dev": "webpack" //script 节点下的脚本,可以通过 npm run 执行 }
- 在终端运行 npm run dev 命令。启动 webpack 进行项目打包。
-3、配置打包的入口与出口
webpack的4.x版本中默认约定:
- 打包的入口文件为 src > index.js
- 打包的输出文件为 dist > main.js
如果要修改打包的入口与出口,可以在 webpack.config.js 中心增如下配置信息:
const path = require(‘path‘) //导入node.js 中专门操作路径的模块 module.exports = { entry: path.json(_dirname, ‘./src/index.js‘), // 打包入口文件的路径 output: { path: peth.json(_dirname, ‘./dist‘), //输出文件的存放路径 filename: ‘bundle.js‘ //输出文件的名称 } }
-4、配置webpack的自动打包功能
- 运行 npm install webpack-dev-server -D 命令,安装支持项目打包的工具
- 修改 package.json > scripts 中的 dev 命令如下:
"scripts": { "dev": "webpack-dev-server" //script节点下的脚本 可以通过npm run执行 }
- 将 src > index.html 中,script 脚本的引用路径,修改为 "buldle.js"
- 运行 npm run dev 命令,重新进行打包
- 在浏览器中访问 http://localhost:8080 地址,查看自动打包效果
注意:
- webpack-dev-server 会启动一个实时打包的 http 服务器
- webpack-dev-server 打包生成的输出文件,默认放到了项目根目录中,而且是虚拟的、看不见的