require-module

 1 index.html
 2
 3 复制代码
 4 <doctype html>
 5 <html>
 6     <meta http-quiv="Content-Type" content="text/html;charset=UTF-8">
 7     <script data-main="config" src="require.js"></script>
 8 </html>
 9 <body>
10     <h1>This is test for RequireJS</h1>
11     <script type="text/javascript">
12         alert("index");
13     </script>
14 </body>
15
16   其中,data-main指定主要的配置文件;src为requirejs的文件。
17
18 config.js
19 require.config({
20     // baseUrl:‘/‘,
21     paths:{
22         "a":"lib/a",
23         "b":"lib/b",
24         "c":"others/c"
25     }
26 });
27
28 require([‘a‘,‘b‘,‘c‘],function(a,b,c){
29     a.hello();
30     b.hello();
31     c.hello();
32 });
33
34   baseUrl指定所有文件的主要目录,paths配置模块名字以及其匹配的加载路径。
35   当有需要使用某些模块时,就可以通过require([xxx],function(xxx){xxx});的方式使用。
36
37 a.js
38 复制代码
39 define([], function() {
40       return {
41         hello: function() {
42           alert("hello, a");
43         }
44       }
45 });
46 复制代码
47 b.js
48
49 复制代码
50 define([], function() {
51       return {
52         hello: function() {
53           alert("hello, b");
54         }
55       }
56 });
57 复制代码
58 c.js
59
60 复制代码
61 define([], function() {
62     return {
63         hello: function() {
64           alert("hello, c");
65         }
66     }
67 });

main.js

 1 require.config({
 2
 3   baseUrl: "js/lib",
 4
 5   paths: {
 6
 7       "jquery": "jquery.min",
 8       "underscore": "underscore.min",
 9       "backbone": "backbone.min",
10         "jquery": "https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min"
11
12   }
13
14 });
15 /*
16 require()函数接受两个参数。第一个参数是一个数组,表示所依赖的模块,
17 上例就是[‘moduleA‘, ‘moduleB‘, ‘moduleC‘],即主模块依赖这三个模块;
18 第二个参数是一个回调函数,当前面指定的模块都加载成功后,它将被调用。
19 加载的模块会以参数形式传入该函数,从而在回调函数内部就可以使用这些模块。
20 */
21 require([‘moduleA‘, ‘moduleB‘, ‘moduleC‘], function (moduleA, moduleB, moduleC){
22
23  // some code here
24
25 });
时间: 2024-11-05 10:02:06

require-module的相关文章

require、module、exports dojo中的三个特殊模块标识

查看dojo源码过程中,发现这三个模块名并不以dojo.dijit.dojox开头,在dojo加载器中属于特殊模块名. require 这是一个上下文智能的加载器. 我们通过dojoConfig配置了一个package:myApp,现在对myApp目录下的文件可以使用如下方式请求: // this is "myApp/topLevelHandlers" define(["dojo"], function(dojo){ dojo.connect(dojo.byId(&

node.js require() 源码解读

时至今日,Node.js 的模块仓库 npmjs.com ,已经存放了15万个模块,其中绝大部分都是 CommonJS 格式.这种格式的核心就是 require 语句,模块通过它加载.学习 Node.js ,必学如何使用 require 语句.本文通过源码分析,详细介绍 require 语句的内部运行机制,帮你理解 Node.js 的模块机制. 一.require() 的基本用法分析源码之前,先介绍 require 语句的内部逻辑.如果你只想了解 require 的用法,只看这一段就够了.下面的

Ruby学习之module

我们可以认为module是一个专门存放一系列方法和常量的工具箱. module和class非常像, 只是module不能创建实例也不能有子类, 它们仅仅能存放东西. 例如: module Circle PI = 3.141592653589793 def Circle.area(radius) PI * radius**2 end def Circle.circumference(radius) 2 * PI * radius end end module书写格式 module ModuleNa

node.js中的exports和module.exports

不同的编程语言都有各自的代码组织和复用的方式,如.net.php中的命名空间,python中的import,ruby中的module等,来避免命名空间污染.一直都没搞清楚node中的exports和module.exports的区别,借此搞清楚node的代码模块复用方式. 首先怎么创建node中的modules. 可以直接创建一个文件作为module,如下module.js function writeLine(){ console.log("module.js"); } export

Error: Cannot find module PhantomJS

node install.js Considering PhantomJS found at /usr/local/bin/phantomjs Looks like an `npm install -g` Error checking path, continuing { Error: Cannot find module '/usr/local/lib/node_modules/phantomjs/lib/location' at Function.Module._resolveFilenam

你知道require是什么吗?

引题 用过node的同学应该都知道require是用来加载模块的,那你是否存在如下的疑问呢? 1. require(path)是如何依据path找到对应module呢? 2. 为何在模块定义中,一定要通过module.exports暴漏出接口?module.exports与require存在什么关系 对上述问题进行概括可以抽象出如下两个问题: 1. module的路径分析 2. 文件加载 切入  首先来直观地看看require是什么? // node环境下执行: console.log(requ

初步理解require.js模块化编程

初步理解require.js模块化编程 一.Javascript模块化编程 目前,通行的Javascript模块规范共有两种:CommonJS和AMD. 1.commonjs 2009年,美国程序员Ryan Dahl创造了node.js项目,将javascript语言用于服务器端编程,这标志”Javascript模块化编程”正式诞生. 在浏览器环境下,没有模块也不是特别大的问题,毕竟网页程序的复杂性有限:但是在服务器端,一定要有模块,与操作系统和其他应用程序互动,否则根本没法编程. node.j

记录:sea.js和require.js配置 与 性能对比

最近有点忙,很久无写博客,记录一下之前的配置require.js和sea.js的配置.(有误有望提出 require.js 文件目录 /app(项目使用js) /lib(require.js jq存放处) /plugin(框架对应的功能插件) require.js比较方便在于,不是amd的模块组件可以通过配置文件进行依赖配置.而且异步加载js 页面加载速度是杠杠的.当然会有点问题的,网速过慢的话,可能会出现js,timeout(可以通过配置解决. config.js (配置文件) // 配置信息

Angular Material串串学客户端开发 2 - Node.js模块加载机制Require()

题外话解一下博客标题,因为第一篇文章评论中,有人质疑离题很远,说了半天和Angular Material没有半毛关系.其实我的的中心在后半句<串串学客户端开发>. require() 不要把这里的Require()和RequireJS混为一谈.不过有意思的是,Typescript的模块定义,甚至同时支持这两种模块机制. 导入和使用外部模块,只是简单的一句require(),看看angular/material/docs下的编译文件gulpfile.js的代码片段.对模块导入和使用有个直观的感觉

Ruby module ---模块,组件

module 的主要目的是把不同的方法和常量分别放进不同的命名空间. module 的命名方式跟类一样首字母大写,多个单词不用下划线. 如:CircleArea module 语法 module ModuleName          ...... end module用范围解析操作符“::”来调用module中的方法和常量. 如:Math::PI, Math 是module名. 导入模块的方法:1. require 'module' -----导入模块.    如:require 'date'