JavaScript模块(二)

P.S. 由于参考文章是2016年的文章,有些知识需要更新。所以这篇文章还会继续更新。

2.1 什么是模块打包(module bundling)

从一个high-level的角度说,模块打包指的是以正确的顺序把一组模块处理成一个单独的文件。

进一步来看,如果没有模块打包,我们必须在HTML文件中插入<script>标签来加载每个模块,页面加载时间将会变得很长吧。为了解决这个问题,我们对模块进行打包,或者说拼接,而不是单独引入每个模块。另一方面,我们还可以对文件进行压缩,从源码中去掉一些不必要的字符从而得到min版本。

像Gulp和Grunt这样的task runner就可以处理代码的拼接和压缩。

2.2 打包模块的不同方法

如果你只是使用了标准的module pattern,那对JS代码的打包和压缩是很简单的,只需要把这些原生JS代码粘连在一起就可以了。但是如果你使用了浏览器无法解析的非原生的模块系统,如CommonJS或AMD,就需要一种特殊的工具去将这些代码转换成浏览器能理解的代码。这就是Browserify、RequireJS、Webpack以及其他所谓module bundlers或module loaders所做的事。

除了打包/加载模块,module bundlers还提供一些额外的特性,比如auto-recompiling。接下来就来看看模块打包方法吧:

2.2.1 打包CommonJS

在上一章我们说过,CommonJS模块是同步加载,这对浏览器端很不友好。Browserify是一个将CommonJS模块编译成浏览器可解析代码的工具。

2.2.2 打包AMD

如果你使用AMD,你需要

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值