随笔分类 - 前端模块化开发
不同于后端,前端的逻辑是在js文件中的,传统的项目需要把项目所需所有的js、css文件全部都引入打页面中的。而后端则不会,后端是用到那个就import那个xxx文件。这就注定了原始开发前端会引发各种问题‘性能低、加载时间长’、‘代码乱、没有高内聚低耦合’等等
摘要:基于webpack项目的全局变量 熟悉vue的同学,肯定知道有.env或env.development类似于这样的配置文件来定义app的全局变量。那么这是如何实现的呢?如果我没用vue,比如我用的react或者纯手工的webpack项目。我怎么去实现这个功能呢?以下详细描述,也是vue支持配置文件的
阅读全文
摘要:补充 访问安全的处理 模块化的好处处理在于能够分模块解耦编写代码外。还能够保护私有变量。类似于private的效果。 在没有这些模块之前,是如何处理这些问题呢。 利用闭包 // utils引入 (function(){ var print = function(msg){ console.log('
阅读全文
摘要:1、加载机制不同es是静态加载,其它是动态加载。Es6 模块的设计思想,是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量。CommonJS 和 AMD、CMD 模块,都只能在运行时确定这些东西。比如,其它模块就是对象(运行时,查找对象),输入时必须查找对象属性。ES6 模块不是
阅读全文
摘要:诞生背景其他都是第三方库,只有es才是官方正宗的,如果es早就制定的话,也不至于现在的这么百花齐放(混乱)的局面了 核心规范一个文件就是一个模块export是暴露出模块的公开方法import是导入 实例代码 index.html app.js tools.js log.js 效果预览 作者说明因为e
阅读全文
摘要:诞生背景AMD其实已经算是解决了前端模块化开发的问题了,但是!!!但是,因为AMD管理依赖的时候,会把所有的依赖下载到本地,并且立即执行一次。依赖少了还好,多的话,那么多js均要被执行一次,这个内存消耗就不容小觑了。而且最重要的是,执行js会阻塞dom的渲染。用户的直接感觉就是页面初始加载的时候等待
阅读全文
摘要:诞生背景1、随着前端逻辑越来越多,项目越来越大,开发大型项目就必须分模块开发2、一切都那么完美,在NodeJs实现后,当人们开始热情的打算把这种实现也用于浏览器时,却发现并不适合。NodeJS应用加载的模块都是基于本地磁盘的,而浏览器却收到网络延迟的影响,而各个模块的延迟长短并不确定,这就给依赖造成
阅读全文
摘要:诞生背景JS没有模块系统、标准库较少、缺乏包管理工具;前端端没有模块化编程还可以,因为前端逻辑没那么复杂,可以工作下去,在服务器端逻辑性那么强必须要有模块为了让JS可以在任何地方运行,以达到Java、C#、PHP这些后台语言具备开发大型应用的能力,于是CommomJs规范就孕育而生了 核心规范一个文
阅读全文
摘要:前端模块化指的范围比较广具体有‘html模块化’:jsp的include、php的include、前端的iframe等等,因为页面数据一般与程序的model绑定在一起的,所以html的模块化往往要结合异步js、或同步后端语言来完成。所以一般没有人去单独说html的模块化,当然如果html是纯静态资源
阅读全文