seajs使用方法

必须执行seajs.use()时,才能自动执行预加载项

 <script src="/UILib/sea.js"></script>
        <script src="/UILib/seajs-preload.js"></script>
        <%--<script src="/UILib/seajs-css.js"></script>--%>

        <script type="text/javascript">
            (function () {
                var modConfig = {
                    "AppVer": "1.1.5", //应用版本
                    "base": "/UILib/", //Sea.js 的基础路径
                    "alias": {
                        "jquery": "/UILib/EasyUI/jquery.min",// 别名配置  可以让文件的真实路径与调用标识分开,有利于统一维护。
                        "EasyUI": ‘EasyUI/jquery.easyui.min‘,
                        "EasyUI-lang": ‘EasyUI/locale/easyui-lang-zh_CN‘,
                        "Wdate": ‘WdatePicker/WdatePicker‘,
                        "artDialog": ‘artDialog/artDialog.source‘,
                        "iframeTools": ‘artDialog/iframeTools.source‘,
                        "jqGrid-lang": ‘/Scripts/jqGrid/js/i18n/grid.locale-en‘,
                        "jqGrid": ‘/Scripts/jqGrid/js/jquery.jqGrid.min‘,
                        ‘seajs-css‘:‘seajs-css‘
                    },
                    "debug": false    // 是否启用调试模式
                };

                var mapVer = function (str) {
                    str = str + "?v=" + modConfig.AppVer;
                    return str;
                };

                seajs.config({
                    base: modConfig.base,
                    alias: modConfig.alias,
                    preload: [  // 预加载项
                        "seajs-css", "jquery", "Wdate", "artDialog", "EasyUI",
                    ],
                    debug: modConfig.debug || 0,
                    map: [[/.*\.js$/, mapVer]],  // 映射配置
                    charset: ‘UTF-8‘  //// 文件编码
                });

                // 加载入口模块
                seajs.use([ "EasyUI-lang","iframeTools", "jqGrid-lang", "jqGrid", ‘/Scripts/Common/Utils.js‘], function () {
                    seajs.use([]);
                    //seajs.use(["iframeTools"]);
                    var bootstrap = [‘/Scripts/jqGrid/css/jquery-ui.css‘, ‘/Scripts/jqGrid/css/ui.jqgrid.css‘, ‘/RMCS/Script/YCGK/OperationLog.js‘];

                    seajs.use(bootstrap, function () {
                        //do something
                    });
                });
                //seajs.use("main1");
            })();
</script>

此框架与requirejs类似,主要是模式不同,Seajs为CMD懒加载模式,requirejs为AMD异步加载。

简易说明文档

时间: 2024-10-14 06:24:14

seajs使用方法的相关文章

SeaJS基本开发原则

SeaJS基本开发原则在讨论SeaJS的具体使用前,先介绍一下SeaJS的模块化理念和开发原则.使用SeaJS开发JavaScript的基本原则就是:一切皆为模块.引入SeaJS后,编写JavaScript代码就变成了编写一个又一个模块,SeaJS中模块的概念有点类似于面向对象中的类--模块可以拥有数据和方法,数据和方法可以定义为公共或私有,公共数据和方法可以供别的模块调用.另外,每个模块应该都定义在一个单独js文件中,即一个对应一个模块.下面介绍模块的编写和调用.模块的定义及编写模块定义函数d

SeaJS入门教程系列之使用SeaJS(二)

SeaJS入门教程系列之使用SeaJS(二) 作者: 字体:[增加 减小] 类型:转载 时间:2014-03-03我要评论 这篇文章主要介绍了SeaJS入门教程系列之使用SeaJS,着重介绍了SeaJS的使用方法.关键方法的使用等,需要的朋友可以参考下 下载及安装 要在项目中使用SeaJS,你所有需要做的准备工作就是下载sea.js然后放到你项目的某个位置.SeaJS项目目前托管在GitHub上,主页为 https://github.com/seajs/seajs/ .可以到其git库的buil

seajs 3.0.0 源码阅读笔记

写笔记的时候才注意到我看的源代码是 3.0.0 的,但是官方发布的最新版本是 2.3.0.相信大部分是相同的,所以先把这个记完,再看一次 2.3.0 的代码. seajs 的源代码可以在 github上获取.seajs 在文档"如何参与开发"中说明了阅读顺序,当然为了便于阅读,在了解了目录结构之后,我直接阅读了合并好的 sea-debug.js. 整个seajs采用的是2空格缩进,避免分号的写法,我不是很习惯,但不影响阅读. 文件/目录结构 文档中各个源文件所包含的内容大致如下: in

模块化开发(二)--- seaJs入门学习

SeaJS是一个基于CMD模块定义规范实现一个模块系统加载器 [CMD规范](https://github.com/cmdjs/specification/blob/master/draft/module.md)9.seaJs启动函数的回调函数 官网:http://seajs.org/docs/ github:https://github.com/seajs/seajs 如何选择一个技术产品栈: - 看作者是否是大牛 - 看社区是否活跃 - 看是否经常更新 SeaJS的作者已经不更新该项目了,但

模块化开发seaJS

1, 先下载seaJs, 然后在我们的项目中新建一个文件夹命名sea(名字可以随便取),把下载好的sea.js 文件拷贝到里面,最后在html文档中把用script标签引入即可使用. 2, 在模块化中,一个js文件就是一个模块,js文件夹下所有js文件都是模块.当然把普通的js文件转换成模块,要做一下变化.用define()方法, 把js文件定义成模块.define方法接受一个函数作为参数,函数有三个参数,如下. define(function(require,exports,module){

seajs 源码阅读笔记

代码概览 src目录文件列表如下: 代码以模块化的方式来组织,构建的时候会合并为一个js文件(sea.js 或 sea-debug.js),其中,intro.js和 outro.js 分别是这个js文件的头部和尾部. 如果习惯看一个文件的代码,可以直接阅读dist目录下的 sea-debug.js , 这个是 所有模块合并后的代码 . sea.js 记录了当前的版本,“@VERSION”在构建的时候应该会被替换为具体的版本号. util 开头的文件是一些工具方法,比如 路径的转换.语法的增强.事

模块化之SeaJS(二)

Seajs 此文来自 予舍驿站 提供简单.极致的模块化开发体验 非官方文档,整理来自己官方文档的文字与实例,方便速查. seajs.configObject aliasObject 别名配置,配置之后可在模块中使用require调用 require('jquery'); seajs.config({ alias: { 'jquery': 'jquery/jquery/1.10.1/jquery' } }); define(function(require, exports, module) {

前端模块化开发的价值(seaJs)

随着互联网的飞速发展,前端开发越来越复杂.本文将从实际项目中遇到的问题出发,讲述模块化能解决哪些问题,以及如何使用 Sea.js 进行前端的模块化开发. 恼人的命名冲突 我们从一个简单的习惯出发.我做项目时,常常会将一些通用的.底层的功能抽象出来,独立成一个个函数,比如 function each(arr) { // 实现代码 } function log(str) { // 实现代码 } 并像模像样地把这些函数统一放在 util.js 里.需要用到时,引入该文件就行.这一切工作得很好,同事也很

seajs模块路径解析 简单总结

seajs模块路径解析 最近在试着用seajs + grunt改造现有项目, 遇到的最大的问题就是seajs命名与调用, 简单总结一下. 模块调用 seajs中调用模块有两种方式,seajs.use(ID) . require(ID). ID命名 完整绝对路径 例如 "http://example.com/test/js/jquery/jquery.js" 以 "." 开头 例如 "./home/main" "../main"