webpack有啥用

本文详细解释了Webpack如何作为连接前端与后端的桥梁,解决了JS代码在不同环境下的兼容性问题,通过将多个JS文件打包成一个bundle.js,避免了全局变量的暴露,使代码在浏览器环境中也能顺利运行。
摘要由CSDN通过智能技术生成

1,什么是webpack,它的作用:

浏览器自使用到现在经历了好几代标准,为了使得新的标准能够兼容旧的标准,webpack帮助开发者填坑。

2,解决的具体问题:

js和其他的语言不同,js想要使用另一个文件中的变量,只能将文件中的变量暴露为全局变量。(当然了,如果B文件想要调用A文件变量,a.js只要在b.js之前引入即可,就像使用jqeury.js一定要放在最前面引入。)

a.js文件:

(function(){ 

window.hi="hello";

})();

b.js文件:

console.log(hi);        //hello

以前js只能在浏览器中运行,因为浏览器中有运行js的环境V8引擎,我们电脑的操作系统上没有V8引擎无法运行,但是现在出了一个node环境,安装在我们电脑上即可运行js。但是node比浏览器好的地方 就i是,浏览器想要共享变量,只能暴露为全局变量,而node不一样,在node眼里,所有的文件都是模块,每个模块有一个入水口一个出水口,这个出水口就是将自己模块中的变量暴露出去的接口,入水口显然就是获取其他模块变量的接口。所以在node中可以使用:

出水口:a.js

function d(){

var  msg="hello";

modules.exports={msg1:msg};  对象的形式暴露出去;

}

入水口:b.js

var msg2=require("../a").msg1;     

在浏览器中正常的,B问价要调用A文件的变量,需要把A文件引入在B文件之前,但是由于NODE使用了require,可以直接寻找文件,就不需要加载A文件了。

以上都是在讲,node环境比浏览器好的地方,可是这和webpack有啥关系?别急

js代码这样写在node中是可以解析,但是在浏览器中不可以。webpack的作用就是将在node中写好的代码(后端)解析为在浏览器下(前端)可以运行的代码;

所以打包的意思就是,不用再像浏览器那样,先引入a.js再引入b.js,完事儿a.js还要暴露为全局变量。而是直接将两个js打包成为一个bundle.js,然后在网页中直接引入bundle.js就行了。

3,关于webpack的安装问题可以参考另一篇博文:https://mp.csdn.net/postedit/81022261

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值