0
点赞
收藏
分享

微信扫一扫

Vue系列教程(16)- 模块打包器(webpack)

冬冬_79d4 2022-01-26 阅读 68



文章目录


  • ​​1. 引言​​
  • ​​2. 什么是webpack​​
  • ​​3. webpack安装​​
  • ​​4. webpack项目案例​​

  • ​​4.1 创建webpack项目​​
  • ​​4.2 打包​​
  • ​​4.3 使用打包后的js文件​​
  • ​​4.4 小结​​



1. 引言

通过前面的章节,我们已经学会了​​Vue​​的事件内容分发,有兴趣的同学可以参阅下:



​Vue​​​的基础知识至此基本已经学完了,接下来主要学习​​Vue​​​项目的打包方式,即本文讲的​​webpack​​。

2. 什么是webpack

Webpack是当下最热门的前端资源模块化管理和打包工具, 它可以:


  • 将许多松散耦合的模块按照依赖和规则打包成符合生产环境部署的前端资源。
  • 还可以将按需加载的模块进行代码分离,等到实际需要时再异步加载。
  • 通过loader转换, 任何形式的资源都可以当做模块, 比如​​Commons JS、AMD、ES 6、CSS、JSON、Coffee Script、LESS​​等;


Webpack是一个现代​​JavaScript​​​应用程序的静态模块打包器(​​module bundler)​​​ 。当​​Webpack处​​​理应用程序时, 它会递归地构建一个依赖关系图(​​dependency graph​​​) , 其中包含应用程序需要的每个模块, 然后将所有这些模块打包成一个或多个​​bundle​​​。(类似于​​Maven​​)


伴随着移动互联网的大潮, 当今越来越多的网站已经从网页模式进化到了​​WebApp​​​模式。它们运行在现代浏览器里, 使用​​HTML 5、CSS 3、ES 6​​​等新的技术来开发丰富的功能, 网页已经不仅仅是完成浏览器的基本需求;​​WebApp​​​通常是一个​​SPA​​​(单页面应用) , 每一个视图通过异步的方式加载,这导致页面初始化和使用过程中会加载越来越多的​​JS​​代码,这给前端的开发流程和资源组织带来了巨大挑战。

前端开发和其它开发工作的主要区别:


  • 首先是前端基于多语言、多层次的编码和组织工作
  • 其次前端产品的交付是基于浏览器的,这些资源是通过增量加载的方式运行到浏览器端

如何在开发环境组织好这些碎片化的代码和资源,并且保证他们在浏览器端快速、优雅的加载和更新,就需要一个模块化系统,这个理想中的模块化系统是前端工程师多年来一直探索的难题。

3. webpack安装

1.安装打包工具

sudo npm install webpack -g

2.安装客户端

sudo npm install webpack-cli -g

验证是否成功(如果有如下提示,安装成功):

Vue系列教程(16)- 模块打包器(webpack)_html

4. webpack项目案例

4.1 创建webpack项目

①创建​​webpack​​​项目,即文件夹(​​webpack-demo​​)

②​​vscode​​导入项目:

Vue系列教程(16)- 模块打包器(webpack)_模块化_02

③创建一个名为​​modules​​的目录(用来放置JS模块等资源文件):

Vue系列教程(16)- 模块打包器(webpack)_html_03

④ 在​​modules​​下创建模块文件​​Hello.js​​,并写入内容:

//暴露一个方法:sayHi
exports.sayHi = function () {
document.write("<div>Hello Webpack</div>");
}

⑤ 在​​modules​​​下创建一个名为​​main.js​​的入口文件:

//require 导入一个模块,就可以调用这个模块中的方法了
var hello = require("./hello");
hello.sayHi();

⑥在项目根目录下创建​​webpack.config.js​​配置文件:

Vue系列教程(16)- 模块打包器(webpack)_bundle_04

代码如下:

module.exports = {
entry: "./modules/main.js",
output: {
filename: "./js/bundle.js"
}
}

4.2 打包

打开控制台 ​​Terminal​​-> ​​new Terminal​​,并输入命令​​webpack​​:

Vue系列教程(16)- 模块打包器(webpack)_模块化_05

打包成功,并在项目目录可以看到生成以下目录及文件(​​bundle.js​​就是打包后好的​​js​​文件):

Vue系列教程(16)- 模块打包器(webpack)_html_06


其它:命令行输入​​webpack --watch​​ 代码发生变动,会自动重新打包


4.3 使用打包后的js文件

①在项目根目录下创建​​HTML​​页面:

Vue系列教程(16)- 模块打包器(webpack)_bundle_07

完整代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<script type="text/javascript" src="./dist/js/bundle.js"></script>
<body>

</body>
</html>

②运行页面,效果如下:

Vue系列教程(16)- 模块打包器(webpack)_模块化_08

4.4 小结

​webpack​​​相当于就是多个模块化的文件合并为一个​​js​​​文件(这些打包后的文件经过处理,便可以向下兼容如​​ES5​​​),最后我们可以把生成的​​js​​​文件在​​html​​里直接引入。本文完!



举报

相关推荐

0 条评论