用Browserify来实现CommonJS的浏览器加载


 Nodejs的模块是基于CommonJS规范实现的,可不可以应用在浏览器环境中呢?  第二行math.add(2, 3),在第一行require(‘math’)之后运行,因此必须等math.js加载完成。也就是说,如果加载时间很长,整个应用就会停在那里等。这对服务器端不是一个问题,因为所有的模块都存放在本地硬盘,可以同步加载完成,等待时间就是硬盘的读取时间。但是,对于浏览器,这却是一个大问题,因为模块都放在服务器端,等待时间取决于网速的快慢,可能要等很长时间,浏览器处于”假死”状态  而browserify这样的一个工具,可以把nodejs的模块编译成浏览器可用的模块,解决上面提到的问题。本文将详细介绍B免费云主机域名rowserify  Browserify是目前最常用的CommonJS格式转换的工具  请看一个例子,b.js模块加载a.js模块  index.html直接引用b.js会报错,提示require没有被定义  这时,就要使用Browserify了【安装】  使用下列命令安装browserify【转换】  使用下面的命令,就能将b.js转为浏览器可用的格式bb.js  查看bb.js,browserify将a.js和b.js这两个文件打包为bb.js,使其在浏览器端可以运行  index.html引用bb.js,控制台显示100  Browserify到底做了什么?安装一下browser-unpack,就能清楚原理了  然后,使用下列命令,将前面生成的bb.js解包  可以看到,browerify将所有模块放入一个数组,id属性是模块的编号,source属性是模块的源码,deps属性是模块的依赖  因为b.js里面加载了a.js,所以deps属性就指定./a对应1号模块。执行的时候,浏览器遇到require(‘./a’)语句,就自动执行1号模块的source属性,并将执行后的module.exports属性值输出  browerify将a.js和b.js打包,并生成bb.js,browser-unpack将bb.js解包,是一个逆向的过程。但实际上,bb.js依然存在

相关推荐: linux中sudo和su有哪些区别

本篇内容介绍了“linux中sudo和su有哪些区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 区别:1、sudo是以root用户方式执行命令,su是用来变…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/26 11:34
下一篇 01/26 11:34