amd

Creating a reusable RequireJs library

岁酱吖の 提交于 2020-01-24 22:57:27
问题 Given the following simplified scenario, how could I best construct my reusable component so that it is correctly consumable by another application, such that foo.js prints 23? Reusable Component: /home.js /main.js /stuff foo.js -- /home.js: define([], function () { return 23; } /stuff/foo.js: define(['home'], function (home) { console.log(home); } // prints 23 Consumer Application: /app.js /main.js /home.js /views template.html /bower_components /myReusableComponent /home.js /main.js /stuff

Creating a reusable RequireJs library

て烟熏妆下的殇ゞ 提交于 2020-01-24 22:57:07
问题 Given the following simplified scenario, how could I best construct my reusable component so that it is correctly consumable by another application, such that foo.js prints 23? Reusable Component: /home.js /main.js /stuff foo.js -- /home.js: define([], function () { return 23; } /stuff/foo.js: define(['home'], function (home) { console.log(home); } // prints 23 Consumer Application: /app.js /main.js /home.js /views template.html /bower_components /myReusableComponent /home.js /main.js /stuff

js模块化的两种规范AMD和CMD

懵懂的女人 提交于 2020-01-21 03:24:35
AMD 规范在这里: https:// github.com/amdjs/amdjs- api/wiki/AMD CMD 规范在这里: https:// github.com/seajs/seajs/ issues/242 AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。 CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。 区别: 1. 对于依赖的模块,AMD 是提前执行,CMD 是延迟执行。不过 RequireJS 从 2.0 开始,也改成可以延迟执行(根据写法不同,处理方式不同)。CMD 推崇 as lazy as possible. 2. CMD 推崇依赖就近,AMD 推崇依赖前置,例如: // CMD 默认推荐的是 define(function(require, exports, module) { var a = require('./a') a.doSomething() // 此处略去 100 行 var b = require('./b') // 依赖可以就近书写 b.doSomething() ... }) // AMD 默认推荐的是 define(['./a', './b', 'require', 'exports'], function(a, b, require, exports) { // 依赖必须一开始就写好 a

OpenCL介绍

你。 提交于 2020-01-19 13:59:45
  OpenCL(全称Open Computing Language,开放运算语言)是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码,而且广泛适用于多核心处理器(CPU)、图形处理器(GPU)、Cell类型架构以及数字信号处理器(DSP)等其他并行处理器,在游戏、娱乐、科研、医疗等各种领域都有广阔的发展前景。 基本信息   OpenCL是一个为异构平台编写程序的框架,此异构平台可由CPU,GPU或其他类型的处理器组成。OpenCL由一门用于编写kernels (在OpenCL设备上运行的函数)的语言(基于C99)和一组用于定义并控制平台的API组成。OpenCL提供了基于任务分割和数据分割的并行计算机制。   OpenCL类似于另外两个开放的工业标准OpenGL和OpenAL,这两个标准分别用于三维图形和计算机音频方面。OpenCL扩展了GPU用于图形生成之外的能力。OpenCL由非盈利性技术组织Khronos Group掌管。 历史发展   OpenCL最初苹果公司开发,拥有其商标权,并在与AMD,IBM,英特尔和NVIDIA技术团队的合作之下初步完善。随后,苹果将这一草案提交至Khronos Group。   2008年6月的WWDC大会上,苹果提出了OpenCL规范

AMD与CMD区别(玉伯) - 2015

我怕爱的太早我们不能终老 提交于 2020-01-17 02:05:09
原话 学习下 AMD 规范在这里: https:// github.com/amdjs/amdjs- api/wiki/AMD CMD 规范在这里: https:// github.com/seajs/seajs/ issues/242 AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。 CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。 类似的还有 CommonJS Modules/2.0 规范,是 BravoJS 在推广过程中对模块定义的规范化产出。 还有不少⋯⋯ 这些规范的目的都是为了 JavaScript 的模块化开发,特别是在浏览器端的。 目前这些规范的实现都能达成 浏览器端模块化开发的目的 。 区别: 1. 对于依赖的模块,AMD 是 提前执行 ,CMD 是 延迟执行 。不过 RequireJS 从 2.0 开始,也改成可以延迟执行(根据写法不同,处理方式不同)。CMD 推崇 as lazy as possible. 2. CMD 推崇 依赖就近 ,AMD 推崇 依赖前置 。看代码: // CMD define(function(require, exports, module) { var a = require('./a') a.doSomething() // 此处略去 100 行 var b = require('./b') //

CommonJS和AMD

主宰稳场 提交于 2020-01-16 07:16:21
CommonJS中,有一个全局性方法require(),用于加载模块,适用于服务器端,同步加载,  var math = require('math');  math.add(2,3); // 5 这对服务器端不是一个问题,因为所有的模块都存放在本地硬盘,可以同步加载完成,等待时间就是硬盘的读取时间。但是,对于浏览器,这却是一个大问题,因为模块都放在服务器端,等待时间取决于网速的快慢,可能要等很长时间,浏览器处于"假死"状态。 AMD也采用require()语句加载模块,但是不同于CommonJS,它要求两个参数: require([module], callback); 只要通过require.js加载 来源: https://www.cnblogs.com/Ferrari/p/7205777.html

Common js和 AMD规范

﹥>﹥吖頭↗ 提交于 2020-01-16 07:07:09
Common js和 AMD规范 AMD: 异步模块定义 AMD也采用require()语句加载模块,但是不同于CommonJS,它要求两个参数 require([module], callback); 第一个参数[module],是一个数组,里面的成员就是要加载的模块;第二个参数callback,则是加载成功之后的回调函数。 Node模块采用了CommonJS规范 根据CommonJS规范,一个单独的文件就是一个模块。每一个模块都是一个单独的作用域,也就是说,在一个文件定义的变量(还包括函数和类),都是私有的,对其他文件是不可见的。 CommonJS规定,每个文件的对外接口是 module.exports 对象。这个对象的所有属性和方法,都可以被其他文件导入。 module.exports 对象是可以被其他文件导入的,它其实就是文件内部与外部通信的桥梁。 require 方法用于在其他文件加载这个接口。 CommonJS模块的特点如下: 1.所有代码都运行在模块作用域,不会污染全局作用域。 2.模块可以多次加载,但是只会在第一次加载时运行一次,然后运行结果就被缓存了,以后再加载,就直接读取缓存结果。要想让模块再次运行,必须清除缓存。 3.模块加载的顺序,按照其在代码中出现的顺序。 CommonJS规范加载模块是同步的,也就是说,只有加载完成,才能执行后面的操作。

Using AMD module as an Aurelia ViewModel

孤者浪人 提交于 2020-01-15 07:27:10
问题 I was playing with Aurelia and seems pretty nice, I use Durandal for some projects and this definitively suit my needs. Use the new class definition from EC6 is awesome. But now I'm preparing something in which I need to use a classic AMD modules with requireJs, something like this one: define("testModule", [], function() { "use strict"; console.log('testModule loaded'); var testModule = function() { var that = this; this.variable = 10; that.getVariable = function(){ alert('function executed

ES6 module's “import” officially compatible with CommonJS and AMD?

£可爱£侵袭症+ 提交于 2020-01-13 12:03:06
问题 From this article : https://hacks.mozilla.org/2015/08/es6-in-depth-modules/ It is written that The new standard is designed to interoperate with existing CommonJS and AMD modules. And more precisely All CommonJS and AMD modules are presented to ES6 as having a default export If it is really the case all we'd need is a ES6 polyfill and we wouldn't have to do use anything else. Yet for eg this ES6 Polyfill :https://github.com/ModuleLoader/es6-module-loader doesn't seem to allow loading CommonJS

JavaScript Modules, Closures and Scope

大兔子大兔子 提交于 2020-01-13 11:31:34
问题 I am using the following closure pattern to modularise my code: (function(root) { // MODULE CODE HERE if (typeof module !== 'undefined' && module.exports) { // CommonJS /* var dependencies = require(...) */ module.exports = myModule; } else if (typeof define !== 'undefined' && define.amd) { // AMD /* var dependencies...; */ define([/* dependencies */], function(/* dependencies */) { /* Assign closure level vars to respective arguments */ return myModule; }); } else { // Dependencies?? root