开始使用seajs的时候折磨了我好一阵。光是各种概念就让新手难理解。现在弄清楚了,上个实践以备忘。目录结构如图。
1.文件 sea.html main.js a.js b.js c.js 最后还要一个seajs,其中main.js是入口文件,a.js b.js c.js 都是模块文件(注意模块文件是怎么定义的,要注重规范哟)
sea.html 的内容
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no,initial-scale=1" /> <link href="http://cdn.bootcss.com/lightgallery/1.1.0/css/lightGallery.css" rel="stylesheet"> </head> <body> seajs学习 </body> <script src="../js/sea.js" ></script> <script src="../js/main.js"></script> </html>
main.js 的内容
console.log("this is main.js"); seajs.config({ /*这里是做配置*/ /* base: "../res/", alias: { "jquery": "js/jquery-2.1.4.min", "lightGallery":"js/lightGallery", "a":"js/a", }*/ }); seajs.use("a",function(main){ main.a_fun(); });
a.js的内容(注意模块的定义格式)
define(function(require, exports, module) { console.log("this is a.js"); var b = require("./b");//这里就是依赖,看看怎么写的 exports.a_fun = function() { console.log("这是a.js暴露的接口"); } //调用b的接口 b.b_fun(); })
b.js的内容
define(function(require, exports, module) { console.log("this is b.js"); var c = require("./c"); //暴露接口给被依赖者 exports.b_fun = function() { console.log("这是b.js暴露的接口"); } c.c_fun(); })
c.js的内容
define(function(require, exports, module){ console.log("this is c.js"); exports.c_fun=function(){ console.log("这是c.js暴露的接口"); } })
2.在sea.html中引入sea.js 和main.js(这相当于c语言的main函数,程序的入口文件,通过依赖关系找到所有需要的文件);
3.运行sea.html看看控制台效果
4.就这么简单,跟着我的走一遍,你再去看详细的接口文档,在这个基础上继续学习,比起你直接去摸那些高大上的概念会轻松很多
时间: 2024-10-08 18:42:25