Vue前端工程化--webpack简介及使用

webpack

一、当前 Web 开发面临的困境

  • 文件依赖关系错综复杂
  • 静态资源请求效率低
  • 模块化支持不友好
  • 浏览器对高级 Javascript 特性兼容程度较低
  • etc…

二、webpack 概述

webpack 是一个流行的前端项目构建工具(打包工具),可以解决当前 web 开发中所面临的困境。 webpack 提供了友好的模块化支持,以及代码压缩混淆、处理 js 兼容问题、性能优化等强大的功能,从而让程序员把 工作的重心放到具体的功能实现上,提高了开发效率和项目的可维护性。

目前绝大多数企业中的前端项目,都是基于 webpack 进行打包构建的。
在这里插入图片描述

三、安装webpack

1. 打开项目目录终端,输入命令:
npm install webpack webpack-cli -D
2. 然后在项目根目录中,创建一个 webpack.config.js 的配置文件用配置webpack在 webpack.config.js 文件中编写代码进行webpack配置,如下:
module.exports = {
    mode:"development"//可以设置为development(开发模式),production(发布模式)
}

补充:mode设置的是项目的编译模式。
如果设置为development则表示项目处于开发阶段,不会进行压缩和混淆打包速度会快一些如果设置为production则表示项目处于上线发布阶段,会进行压缩和混淆打包速度会慢一些

3. 修改项目中的package.json文件添加运行脚本dev,如下:
"scripts":{
    "dev":"webpack"
}

注意:scripts节点下的脚本,可以通过 npm run 运行,如:运行终端命令:npm run dev将会启动webpack进行项目打包

4. 运行dev命令进行项目打包,并在页面中引入项目打包生成的js文件打开项目目录终端,输入命令:
npm run dev

等待webpack打包完毕之后,找到默认的dist路径中生成的main.js文件将其引入到html页面中。浏览页面查看效果。

四、设置webpack的打包入口/出口

在webpack 4.x中,默认会将src/index.js 作为默认的打包入口js文件
默认会将dist/main.js 作为默认的打包输出js文件
如果不想使用默认的入口/出口js文件,我们可以通过改变webpack.config.js 来设置入口/出口的js文件,如下:

const path = require("path");
module.exports = {
    mode:"development",
    //设置入口文件路径
    entry: path.join(__dirname,"./src/xx.js"),
    //设置出口文件
    output:{
        //设置路径
        path:path.join(__dirname,"./dist"),
        //设置文件名
        filename:"res.js"
    }
}

五、设置webpack的自动打包

默认情况下,我们更改入口js文件的代码,需要重新运行命令打包webpack,才能生成出口的js文件
那么每次都要重新执行命令打包,这是一个非常繁琐的事情,那么,自动打包可以解决这样繁琐的操作。
实现自动打包功能的步骤如下:

1.安装自动打包功能的包:webpack-dev-server
npm install webpack-dev-server -D
2.修改package.json中的dev指令如下:
"scripts":{
    "dev":"webpack-dev-server"
}
3.将引入的js文件路径更改为:
<script src="/bundle.js"></script>
4.运行npm run dev,进行打包
5.打开网址查看效果:
http://localhost:8080

注意:webpack-dev-server自动打包的输出文件,默认放到了服务器的根目录中.

补充:
在自动打包完毕之后,默认打开服务器网页,实现方式就是打开package.json文件,修改dev命令:

"dev": "webpack-dev-server --open --host 127.0.0.1 --port 9999"

六、配置html-webpack-plugin

使用html-webpack-plugin 可以生成一个预览页面。
因为当我们访问默认的 http://localhost:8080/的时候,看到的是一些文件和文件夹,想要查看我们的页面
还需要点击文件夹点击文件才能查看,那么我们希望默认就能看到一个页面,而不是看到文件夹或者目录。
实现默认预览页面功能的步骤如下:

1.安装默认预览功能的包:html-webpack-plugin
npm install html-webpack-plugin -D
2.修改webpack.config.js文件,如下:
//导入包
    const HtmlWebpackPlugin = require("html-webpack-plugin");
    //创建对象
    const htmlPlugin = new HtmlWebpackPlugin({
        //设置生成预览页面的模板文件
        template:"./src/index.html",
        //设置生成的预览页面名称
        filename:"index.html"
    })
3.继续修改webpack.config.js文件,添加plugins信息:
module.exports = {
    ......
    plugins:[ htmlPlugin ]
}
 

下一篇介绍webpack中的加载器

发布了261 篇原创文章 · 获赞 249 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_44721831/article/details/103519881