模块化JS编程 seajs简单例子

1.引入sea.js

test.html

 1 <!doctype html>
 2 <html>
 3 <head>
 4 <meta charset="utf-8">
 5 <title>My Frist SeaJs</title>
 6 </head>
 7 <body>
 8 <div id="container">
 9
10 </div>
11
12 <script src="../sea-modules/seajs/seajs/2.2.0/sea.js"></script>
13 <script>
14
15   // Set configuration
16     seajs.config({
17          alias: {
18              "jquery": "../script/jquery-1.11.1"
19         }
20     });
21
22   seajs.use("../script/mysea.js");
23 </script>
24
25 </body>
26 </html>

2.定义mysea.js

mysea.js

1 define(function (require, exports, module) {      //获得依赖
2     var mysea2 = require(‘../script/mysea2‘);
3     mysea2.show();
4 });

2.定义mysea2.js

mysea2.js

1 define(function (require, exports, module) {      //暴露show接口
2     exports.show = function() {
3         alert(‘mysea2‘);
4     };
5 });

输出结果:

模块化编程的目的很明显,我们不在像以前那样function(),function()的编写代码.我们可以很自由的组织代码,可避免一些代码冲突.

这里有个小问题,demo 引用的是jquery-1.11.1.由于jquery遵循是AMD规范. 在seajs官网的例子运行是没有问题的,因为作了修改(seajs是CMD规范).

所以jquery-1.11.1也做了修改,否则依赖的jquery会找不到的.

jquery-1.11原本的定义

1 if (typeof define === "function" && define.amd) {
2         define("jquery", [], function () {
3         return jQuery;
4    });
5 }

修改如下

1 if (typeof define === "function") {      //合理的路径
2     define("../script/jquery-1.11.1", [], function () { return jQuery; });
3 }

关于规范

AMD规范:https://github.com/amdjs/amdjs-api/wiki/AMD

seajs模块定义规范:https://github.com/seajs/seajs/issues/242

下载seajs

https://github.com/seajs/seajs/releases

官网

http://seajs.org/docs/

模块化JS编程 seajs简单例子

时间: 2024-11-03 23:24:54

模块化JS编程 seajs简单例子的相关文章

[转] 3个学习Socket编程的简单例子:TCP Server/Client, Select

以前都是采用ACE的编写网络应用,最近由于工作需要,需要直接只用socket接口编写CS的代码,重新学习这方面的知识,给出自己所用到的3个简单例子,都是拷贝别人的程序.如果你能完全理解这3个例子,估计socket编程就已经基本入门了. 建议:1) 多多查查所用到的网络接口; 2) 最好有一本书,如UNIX环境高级编程,UNIX网络编程,可查询:3) 可以直接使用书上的例子更好. http://blog.csdn.net/zhenjing/article/details/4770490 TCP C

java socket编程开发简单例子

1.以下只是简单例子,没有用多线程处理,只能一发一收(由于scan.nextLine()线程会进入等待状态),使用时可以根据具体项目功能进行优化处理 2.以下代码使用了1.8新特性,如果要测试以下代码,java版本不能低于1.8 // 客户端 public static void main(String[] args) { try (Scanner scan = new Scanner(System.in); Socket client = new Socket("127.0.0.1"

模块化开发,SeaJS简单总结

seajs是一个遵循CommonJS规范的JavaScript模块加载框架. 在 Sea.js 中,所有 JavaScript 模块都遵循 CMD 模块定义规范.该规范明确了模块的基本书写格式和基本交互规则. 在 CMD 规范中,一个模块就是一个文件.代码的书写格式如下:define(factory); SeaJS解决了两个问题: 1.JavaScript的模块化 2.按模块加载 SeaJS在开发中的角色:在多人协作开发时,起着后勤人员的作用,协调  文件依赖.命名冲突.按需加载的作用; 二.用

ASP.NET JS调用WebService——简单例子

一.创建好WebService 二.编辑页面与js 三. 运行页面并点击按钮,结果如下 简单调用吧!

Node.js使用模块简单例子

var me=require('./myModule.js'); me.hello("mei"); 模块myModule.js this.hello=function(name){ console.log("hello"+name); } //或写成 // function hello(name){ // console.log("hello"+name); // } // exports.hello=hello; node一下test.js

node.js介绍及简单例子

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con

socket编程---一个简单例子

服务器端代码(多线程): import java.io.IOException; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; public class MultiEchoServer { private static ServerSocket serverSocket; private static final int POR

从一个简单例子来理解js引用类型指针的工作方式

? 1 2 3 4 5 6 7 <script> var a = {n:1};  var b = a;   a.x = a = {n:2};  console.log(a.x);// --> undefined  console.log(b.x);// --> [object Object]  </script> 上面的例子看似简单,但结果并不好了解,很容易把人们给想绕了--"a.x不是指向对象a了么?为啥log(a.x)是undefined?".&

JS编程

JS编程常识 一.UI层的松耦合 松耦合就是要求各层遵循“最少知识原则”,或者说是各层各司其职,不要越权: HTML:结构层 CSS:表现层 JS:行为层 对于各层的职能,有一句比较贴切的解释:HTML是名词(n),CSS是形容词(adj)和副词(adv),JS是动词 因为三层联系紧密,实际应用中很容易越权: 1.从css中分离js 尽量不要用css表达式,如果非要用也应该把相应的代码放在hack中,便于维护 2.从js中分离css 不要用ele.style.attr及ele.cssText,应