Skip to content

itper/BHJavaScriptProjectTestAMD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 

Repository files navigation

学习

  • AMD,CMD,CommonJS 这几种规范是什么

    AMD规范,定义一个API define()所有module定义都通过
    
  • Nodejs

    JS运行时,脱离浏览器限制.跨平台.提供系统级API访问功能,进程,I/O等等.
    
  • npm

  •   Node的包管理工
    
  • 如何异步加载JS文件,并让其执行

    在HtmlDom中添加script接点.这也是这些模块加载工具的实现,在代码执行完,
    进入内存之后,移除节点.
    
  • 参考:http://www.zhihu.com/question/20342350

  • require.js 一个异步模块加载工具,模块一般需要实现AMD规范.

    定义模块:
    需要有一个返回对象,对象是当前module的公开API
    define("moduleB",["a","b","c"],
    	function(a,b,c){
    		var funcB = function(){
    			alert("funcB");
    		}
    		return {
    			funcB:funcB
    		};
    	}
    );
    
    使用模块:
    引用的module(define回调函数返回的),会在加载完成之后依次回调.
    require(['jquery','b'],function($,b){
    	//既然我在开头明确声明依赖需求,那可以确定在执行这个回调函数时,依赖
    	肯定是已经满足了
    	//所以,放心地使用吧
    })
    
  • sea.js

  •   一个异步加载工具,遵循所谓的CMD规范(自己起的),可以想Node一样的风格
      书写代码.
      
      定义模块:
      define(function(require,exports,modules){
      	var $ = require('jquery')
      	$.get('http://www.zhihu.com')
      	//传统JS程序员的思维:
      	//“咦,好神奇,JS加载不应该是异步的么,怎么我一说要依赖,jquery就自己
      	跳出来了?”
      })
      使用模块:
      G.use(['./a','./b'],function(a , b){
      	a.doSomething();
      	b.doSomething();
      });
    
  • G.js

    参照Sea.js实现
    在定义的时候,如果单使用G.js,可以照着api来,如果要基于ng-static,
    将require,export,module当做全局变量来使用,define中function的内容
    拿出:
    	var a = require("A.js");
    	exprots = {
      	 a: a.A;
    	}
    可以去掉Gbuilder配置文件的uglify
    
  • jquery.js

  •   $.extend (obj1,obj....);将后边对象合并到obj1中
    
  • underscore.js

    • 扩展了一些常用的功能,提供一套函数式编程的功能.
  • zepto.js

  • backbone.js

  •   一个MVC框架
    
  • css---@import

  • grunt

  •   前端构建工具,基于Nodejs的一个工具,可以对js,css等做一些预处理工作.
    
  • 前端构建工具

  • 自动化

  • 前端模板技术

  • JS和Html混合

  • undercoser模板技术

  • widget

  • isFunction 类型判断

	function isFunction(func) {
	  return Object.prototype.toString.call(func) === '[object Function]'
	}

About

通过该 demo 演示 requirejs 的使用,和了解 AMD 的规范

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages