使用browserify实施CommonJS浏览器加载方法

使用browserify实施CommonJS浏览器加载方法
Nodejs前端模块是基于CommonJS规范实现的,它能被应用于浏览器的环境
VAR数学=需要('math);
Math.add(2, 3);

第二行math.add(2, 3)在第一行后需要('math '),所以需要等待math.js负载来完成的。也就是说,如果加载时间很长,整个应用程序会停在那里等待。这不是服务器端的问题,因为所有的模块都存储在本地硬盘上,可以同步加载。等待时间是硬盘的读取时间,但是对于浏览器来说,这是一个大问题,因为服务器端的模块,等待时间取决于速度,可能要等很长时间,浏览器处于假死状态。

像browserify工具可以编译成一个浏览器NodeJS模块模块来解决上述问题,本文将详细介绍browserify

实现

Browserify是最常用的CommonJS格式转换工具

看到一个例子,b.js模块加载a.js模块
/ / a.js
var a=100;
模块。导出;

/ / b.js
var结果=需要();
console.log(结果的。);
指标。HTML的直接参考b.js将是错误的,这表明需要没有定义

/ / index.html

文件
在这一点上,Browserify是用

{安装}

browserify使用以下命令安装
NPM安装- G browserify
{转}

使用下面的命令,你可以把b.js到浏览器可用的格式,bb.js
browserify美元b.js > bb.js
看着bb.js,browserify包两档A.js和B.js bb.js运行在浏览器端
函数E(t,n,r){函数s(o,u){如果(n } }!){如果{ var a = typeof(O T { }!)需要函数;如果(UA)!返回一个(o,0!)如果(i)返回i(o,0;var f = New!)误差(找不到模块+ O + );把f.code = module_not_found,F L = N { } var o = { } { } };出口:O T { } { 0 }。电话(l.exports,功能(e){ var = T { O } { 1 } {一};回报(NN:E)},L,l.exports,E,T,N,R)} { }返回N O。出口} var i = = =需要类型的需要(功能;var o = 0;o<r.length;O + +)S(R {哦});返回(}){ 1:{功能(要求、模块、出口){
var a=100;
模块。导出;
},{ }(需要,2:{函数,模块,导出){
var结果=需要();
console.log(结果的。);
{:1 } },{ 2 }){ };
文件是指bb.js,与控制台显示100
/ / index.html

文件
原理

Browserify怎么做的安装浏览器解包时,您就可以理解原理。
NPM安装浏览器打开G美元
然后,使用下面的命令,先前产生的bb.js包
浏览器打开< bb.js美元
你可以看到,browerify把所有模块在一个数组中,ID属性的模块数,源属性模块源代码,该属性是组件的依赖。

因为a.js内加载b.js,DEP的属性指定。 /对应1个模块。当浏览器执行,符合要求('。 /)表和自动执行的1个模块的源和输出module.exports属性值后执行。

Browerify A.js和b.js包,和bb.js生成,浏览器打开bb.js将解压后,是一个逆向的过程。但事实上,bb.js依然存在

使用browserify实现CommonJS的浏览器加载,萧边分享你的全部内容的方法。我希望能给你一个参考,希望你能支持它。

tag:加载方法浏览器电脑软件browserify

相关内容