requirejs:杏仁的优化(almond)】的更多相关文章

使用场景 什么情况下需要使用 almond 呢?假设你手头有个基于requirejs的小项目,所有业务代码加起来就几十K(压缩后可能更小).出于性能优化的考虑,你可能在想:如果能够去掉requirejs的依赖就好了,毕竟,gzip后的requirejs还有大概20k(2.1.6版本). almond就是为了这个目的而诞生的,开发过程,你可以照常使用requirejs来管理你的依赖,而到了打包上线阶段,替换成almond就行了.gzip后的almond只有大约1k,优化幅度相当大. 例子:未使用a…
这里只是调侃一下,“杏仁”其实指的是almond,requirejs作者的另一个开源项目,它的定位是作为requirejs的一个替代品. 本文概要: 1. 使用场景 2. 打包例子:未使用almond 3. 打包例子:使用almond 4. 如何暴露公共API 5. 限制 & 支持的特性 6. 写在后面 & demo下载 使用场景 什么情况下需要使用almond呢?假设你手头有个基于requirejs的小项目,所有业务代码加起来就几十K(压缩后可能更小).出于性能优化的考虑,你可能在想:如…
为了提高页面的性能,通常情况下,我们希望资源尽可能地早地并行加载.这里有两个要点,首先是尽早,其次是并行. 通过data-main方式加载要尽可能地避免,因为它让requirejs.业务代码不必要地串行起来.下面就讲下如何尽可能地利用浏览器并行加载的能力来提高性能. 低效串行:想爱但却无力 最简单的优化,下面的例子中,通过两个并排的script标签加载require.js.main.js,这就达到了require.js.main.js并行加载的目的. 但这会有个问题,假设main.js依赖了jq…
RequireJs 提供了一个打包工具 r.js,可以将相关的模块打包为一个文件.相关说明:http://www.requirejs.org/docs/optimization.html 将相关的脚本模块整合为单个脚本文件,然后默认使用  UglifyJS 进行紧缩,或者在使用 java 的时候,使用  Closure Compiler 处理. 还可以通过 @import 自动内联相应的样式,并且删除注释来优化 CSS 虽然可以通过命令行来使用这个打包工具,但是在 Grunt 中也提供了相应的插…
我们所说的web,无非就是html,css(web font, image),JavaScript. HTML优化建议: 1. 尽量不要用table进行布局. 2. 尽量用最新的带有语义的h5标签,这样在解析跟渲染时更快. 3. 使用块传输数据,web服务器响应头设置:Transfer-Encoding: chunked 4. 预处理DNS,DNS缓存.可以通过link标签增加rel=“dns-prefetch”,如:<link rel="dns-prefetch" href=&…
原文: https://www.tutorialspoint.com/requirejs/requirejs_quick_guide.htm RequireJS - 概述 RequireJS是一个JavaScript库和文件加载器,用于管理JavaScript文件和模块化编程之间的依赖关系.它还有助于提高代码的速度和质量. RequireJS由David Mark开发,其初始版本v1.0.0于2009年发布.它是一个开源版本,2.3.3版本是其最近的稳定版本. 为什么要使用RequireJS?…
英文版地址 最近使用 Require.Js 的时候我发现它确实是一个改善代码管理的一个好方法.我以前发表Backbone类的文章时曾提到过 Require,但此前,我从未在传统的多页面网站内使用到 Require.在多页面网站里面配置 Require 的过程相当繁琐,所以我想将教程整理出来帮助那些可能会遇到困惑的朋友们. 概述 注意,本文假设你已经熟悉 Require.Js 和基本的配置使用方法,如果不是,建议你先看看官网的手册. 创建一个单页应用 (single-page App) 时,许多人…
原文地址:https://www.jianshu.com/p/85917bcc023f 注意:webpack 和 webpack-cli 的安装参考 https://www.cnblogs.com/mumu122GIS/p/10815777.html  否则容易出错 Cesium 和 Webpack Webpack是非常强大非常流行的JavaScript 模块打包工具.它可以让开发人员以一种简单直观的 require 方式去加载各种页面需要的文件,极大的方便了开源人员对代码和资源文件进行结构化设…
原文地址:https://cesiumjs.org/tutorials/cesium-and-webpack/ Cesium 和 Webpack Webpack是非常强大非常流行的JavaScript 模块打包工具.它可以让开发人员以一种简单直观的 require 方式去加载各种页面需要的文件,极大的方便了开源人员对代码和资源文件进行结构化设计.当编译的时候,它会跟踪代码依赖性,把所有的模型打包到浏览器可以直接加载的一个或者多个bundles中. 在这个教程的前一半,我们创建一个简单的web项目…
这里只是调侃一下,“杏仁”其实指的是almond,requirejs作者的另一个开源项目,它的定位是作为requirejs的一个替代品. 使用场景 什么情况下需要使用almond呢?假设你手头有个基于requirejs的小项目,所有业务代码加起来就几十K(压缩后可能更小).出于性能优化的考虑,你可能在想:如果能够去掉requirejs的依赖就好了,毕竟,gzip后的requirejs还有大概20k(2.1.6版本). almond就是为了这个目的而诞生的,开发过程,你可以照常使用requirej…
RequireJS Optimizer 是 RequireJS 自带的前端优化工具,可以对 RequireJS 项目中的 JavaScript & CSS 代码使用 UglifyJS 或者 Closure Compiler 进行压缩合并.这篇文章介绍RequireJS Optimizer 的使用和配置方法,帮助大家解决使用中碰到的问题. 您可能感兴趣的相关文章 12款很棒的浏览器兼容性测试工具推荐 2012年最佳 Web 前端开发工具和框架 构建杀手级应用 JavaScript 工具和技术 推荐…
关于RequireJS已经有很多文章介绍过了.这个工具可以将你的JavaScript代码轻易的分割成苦 干个模块(module)并且保持你的代码模块化与易维护性.这样,你将获得一些具有互相依赖关系的JavaScript文件.仅仅需要在你的HTML文 档中引用一个基于RequireJS的脚本文件,所有必须的文件都将会被自动引用到这个页面上. AD:51CTO 网+首届APP创新评选大赛火热启动——超百万资源等你拿! 本文将演示如何合并与压缩一个基于RequireJS的项目.本文中将用到苦干个工具,…
概述 关于RequireJS已经有很多文章介绍过了.这个工具可以将你的JavaScript代码轻易的分割成苦干个模块(module)并且保持你的代码模块化与易维护性.这样,你将获得一些具有互相依赖关系的JavaScript文件.仅仅需要在你的HTML文档中引用一个基于RequireJS的脚本文件,所有必须的文件都将会被自动引用到这个页面上. 但是,在生产环境中将所有的JavaScript文件分离,这是一个不好的做法.这会导致很多次请求(requests),即使这个些文件都很小,也会浪费很多时间.…
英文原文:Optimize (Concatenate and Minify) RequireJS Projects 标签: RequireJS Node.js 参与翻译 (1人) : 裴宝亮 本文将演示如何合并与压缩一个基于RequireJS的项目.本文中将用到苦干个工具,这其中就包括Node.js. 因此,如果你手头上还没有Node.js可以点击此处下载一个. 动机 关于RequireJS已经有很多文章介绍过了.这个工具可以将你的JavaScript代码轻易的分割成苦干个模块(module)并…
基于 AMD(Asynchronous Module Definition)的 JavaScript 设计已经在目前较为流行的前端框架中大行其道,jQuery.Dojo.MooTools.EmbedJS 等纷纷在其最新版本中加入了对 AMD 的支持.本文介绍的是另一款较为精简的 RequireJS 框架,既想使用 AMD 的特性又不想引入一个庞大的库的开发人员,不妨试试 RequireJS.RequireJS 可以帮助用户异步按需的加载 JavaScript 代码,并解决 JavaScript…
上周Wijmo 2014 V2版本刚刚发布(下载地址),  有网友下载后发现仅仅使用了40个Widgets的一小部分,还需要加载全部的jquery.wijmo-pro.all.3.20142.45.min.js包? 即对仅使用部分的Widget,有无办法优化而提高网络性能呢. 答案是肯定的,有办法. 其中针对这种情况,使用Require.JS再合适不过了,实际上Wijmo 2013年已经开始支持Require.JS了,如下是Wijmo支持的JavaScript类库的全图. 本文就通过对比的方式说…
用RequireJS优化Wijmo Web页面 上周Wijmo 2014 V2版本刚刚发布(下载地址),  有网友下载后发现仅仅使用了40个Widgets的一小部分,还需要加载全部的jquery.wijmo-pro.all.3.20142.45.min.js包? 即对仅使用部分的Widget,有无办法优化而提高网络性能呢. 答案是肯定的,有办法. 其中针对这种情况,使用Require.JS再合适不过了,实际上Wijmo 2013年已经开始支持Require.JS了,如下是Wijmo支持的Java…
RequireJS是一个非常小巧的JavaScript模块载入框架,是AMD规范最好的实现者之一.最新版本的RequireJS压缩后只有14K,堪称非常轻量.它还同时可以和其他的框架协同工作,使用RequireJS必将使您的前端代码质量得以提升. 一.AMD 介绍 前端开发在近一两年发展的非常快,JavaScript作为主流的开发语言得到了前所未有的热捧.大量的前端框架出现了,这些框架都在尝试着解决一 些前端开发中的共性问题,但是实现又不尽相同.在这个背景下,CommonJS社区诞生了,为了让前…
requireJS是javascript的模块加载器,是基于AMD规范实现的. r.js是其提供的对模块进行打包和构建的一个工具 下载 r.js 创建r.js 的配置文件 build.js build.js ({ baseUrl: './js/pages', //相对于appDir,代表要查找js文件的起始文件夹,下文所有文件路径的定义都是基于这个baseUrl的 appDir: './', //项目根目录 dir: './outdir', //输出目录,全部文件打包后要放入的文件夹(如果没有会…
1 配置node环境 2 配置built.js文档 3 执行命令node r.js -o built.js 文件目录: <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="css/main.c…
require.js官网:http://requirejs.org/docs/download.html 一篇不错的文章:http://www.csdn.net/article/2012-09-27/2810404…
/* * This is an example build file that demonstrates how to use the build system for * require.js. * * THIS BUILD FILE WILL NOT WORK. It is referencing paths that probably * do not exist on your machine. Just use it as a guide. * * */   ({     //The…
RequireJS Optimizer 是 RequireJS 自带的前端优化工具,可以对 RequireJS 项目中的JavaScript和CSS 代码使用 UglifyJS 或者 Closure Compiler 进行压缩合并.这篇文章介绍RequireJS Optimizer 的使用和配置方法,帮助大家解决使用中碰到的问题. RequireJS Optimizer 对脚本的优化支持目前流行的 UglifyJS 和 Closure Compiler 两种压缩方式,UglifyJS 需要 No…
RequireJS的目标是鼓励代码的模块化,它使用了不同于传统<script>标签的脚本加载步骤.可以用它来加速.优化代码,但其主要目的还是为了代码的模块化.它鼓励在使用脚本时以module ID替代URL地址.~~~模块化的代码,更清晰和易于维护 § 1.1加载JavaScript文件RequireJS以一个相对于baseUrl的地址来加载所有的代码.<script data-main="js/main" src="scripts/require.js&q…
r.js是requireJS的优化(Optimizer)工具,可以实现前端文件的压缩与合并,在requireJS异步按需加载的基础上进一步提供前端优化,减小前端文件大小.减少对服务器的文件请求.要使用r.js需下载r.js文件(点我下载),将其放到你的项目根目录:还需要安装nodeJS(点我下载),以便通过命令行来执行r.js功能.我们将拿一个小案例来详细说明使用r.js的方法(你可以点此下载这个案例). 如下图所示的项目(见案例中的before文件夹)仅仅使用了requireJS,但还未使用过…
几年前,我们这样写前端代码: <div id="el" style="......" onclick="......">测试</div> 慢慢的,我们发现这样做的很多弊端,单就样式一块,改一个样式会涉及到多处调整,所以慢慢的dom标签中的css全部去了一个独立的css文件 再后来,交互变得异常复杂,onclick也不好使了,所以js也分离开了,经典的html+css+javascript结构分离逐步清晰,三种代码各司其职…
web应用越变的庞大,模块化越显得重要,尤其Nodejs的流行,Javascript不限用于浏览器,还用于后台或其他场景时,没有Class,没有 Package的Javascript语言变得难以管理,于是出现CommonJS项目,提出了一些规范模块化的写法,在Nodejs中普遍应用,同样浏览器端也出现了类似的解决方案,并结合浏览器异步加载的特性,有RequireJS提出的AMD(Asynchronous Module Definition)规范,以及SeaJS提出的CMD(Common Modu…
前言 进入移动前端是很不错的选择,这块也是我希望的道路,但是不熟悉啊... 现在项目用的是require+backbone,整个框架被封装了一次,今天看了代码搞不清楚,觉得应该先从源头抓起,所以再看看require了. 上午是到处搜集的资料,下午我们来看原生的API吧: http://www.requirejs.org/docs/api.html#config PS:我英语很烂,各位将就着看吧,看到红色就说明老夫拿不准...... 加载javascript文件 RequireJS采用不同的方法来…
前言 昨天我们一起学习了Backbone,最后做了一个备忘录的例子,说是做了不如说是看了下官方提供的例子,所以最终我感觉我们还是没能掌握Backbone,今天还得做个其它例子先. 然后前面也只是草草学习了RequireJS,没做demo,这个周末又在看电影打游戏睡觉瞎折腾,转眼就周日下午了,突然诗性大起,于是作诗一首先: 古有通宵看A片,今有彻夜码代码 好吧,我们开始今天的学习吧,我们今天先用backbone做一个通讯录的东西,然后使用requireJS组装之. 部分参考:the5fire的技术…
心血来潮,打算结合实际开发的经验,浅谈一下HTML5单页面App或网页的架构. 众所周知,现在移动Webapp越来越多,例如天猫.京东.国美这些都是很好的例子.而在Webapp中,又要数单页面架构体验最好,更像原生app.简单来说,单页面App不需要频繁切换网页,可以局部刷新,整个加载流畅度会好很多. 废话就不多说了,直接到正题吧,浅谈一下我自己理解的几种单页面架构: 1.requirejs+angular+angular-route(+zepto) 最后这个zepto可有可无,主要是给团队中实…