import 与 require 详解 - 从深入浅处Node带来的思考

写在开头

今天在阅读深入浅处node.js的时候读到了这段描述:


2.7 前后端共用模块

谈论了许多后端模块的具体实现之后,现在我们围绕CommonJS规范再次回到前端模块上。JavaScript在Node出现之后,比别的编程语言多了一项优势,那就是一些模块可以在前后端实现共用,这是因为很多API在各个宿主环境下都提供。但是在实际情况下,前后端的环境是略有差别的。

2.7.1模块的侧重点

前后端JavaScript分别搁置在HTTP的两端,他们扮演的角色并不同。浏览器的JavaScript需要经历从同一个服务器分发到多个客户端执行,而服务器端JavaScript则是相同的代码需要多次执行。前者的瓶颈在于带宽,后者的瓶颈在于CPU和内存等资源。前者需要通过网络加载代码,后者从磁盘中加载,两者的加载速度不在一个数量级上。

纵观Node的模块引入过程。几乎全都是同步的。尽管与Node强调异步的行为有些相反,但它是合理的。但是如果前端模块也采用同步的方式来引入,那将会在用户体验上造成很大的问题。UI在初始化过程中需要花费很多时间来等待脚本加载完成


接下来,作者分析了CommonJS还列举了AMD,CMD的异步加载模式,但是由于书的出版时间是2013年了,作者并未介绍时下流行的ES6 Import语法。
那么我就产生了如下的问题

  1. require与import之间有何关系呢?
  2. require是否支持异步加载资源来满足浏览器端开发的需求呢?
  3. 服务器端与浏览器端是否可以使用统一的模块加载机制呢?

由于本

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值