seajs简易使用说明

seajs简易使用说明一 引用 nbsp nbsp lt scriptsrc public js sea js data main main main gt lt script gt nbsp nbsp 在 html 页面使用 script 标签引入 seajs 文件 nbsp nbsp 设置属性 data main 指定你写的功能 js 代码文件 避免了在 html 页面上写 seajs use 代码 nbsp nbsp 当然也可以在 html 页面写你的代码 但是前

一、引用

    < script src="public/js/sea.js" data-main="./main/main">< /script>

    在html页面使用script标签引入seajs文件,
    设置属性data-main=‘’指定你写的功能js代码文件,避免了在html页面上写seajs.use代码,
    当然也可以在html页面写你的代码,但是前者可以使html页面简洁得只有html代码。
            
二、配置(seajs.config)

    使用seajs.config可以配置文件的别名,路径别名等,方便其他文件使用的时候调用,避免重复及冗长的代码

        方法:
            1).与seajs.use写在同一个文件里面(.js或者.html),seajs.config在seajs.use的上面
            2).独立的一个配置.js文件,使用script标签在html页面中引入,位置在引入seajs的下面

        常用参数(更多参数配置请百度):
            base:Sea.js 在解析顶级标识时,会相对 base 路径来解析。
            paths:文件夹路径配置。
            alias:文件别名配置,配置之后可在模块中使用require调用。
            示例:
                seajs.config({
                    paths: {
                       ‘js’: ‘./public/lib/js’ // js文件夹路径配置
                    },
                    alias: {
                       ‘jquery’: ‘js/jquery1.9.1’ // js文件夹下面的jquery文件
                    }
                });

                seajs.use使用:
                    seaJs.use([‘jquery’],function($){
                        $(function(){
                            // jq 代码
                        })
                    })
                其他模块调用:
                    define(function(require, exports, module) {
                        require(‘jquery’);
                        function fun(){
                            $(…)…
                        }
                    })
            
三、使用(seajs.use)

    使用seajs.use来引用你的seajs插件或者在里面写其他功能。

        seajs.use([‘文件1′,’文件2’,…],function(参数1,参数2,…){
            参数1.方法1()
            参数1.方法2()
            。。。
        })
            
四、seajs插件写法及用法

    假设插件文件为test.js.
        第一种:
            define(function(require, exports, module) {
                fun1 = function(){ alert(‘fun1’) }
                fun2 = function(){ alert(‘fun2’) }
                exports = fun1; // 可以不定义接口名称
                exports = fun2; // 可以不定义接口名称
            })
            seajs.use使用:
                seaJs.use([‘test’],function(){ //不需要设置参数
                    fun1() //直接引用
                    fun2() //直接引用
                })

        第二种:
            define(function(require, exports, module) {
                function fun1(){ alert(‘fun1’) }
                function fun2(){ alert(‘fun2’) }
                exports.f1 = fun1; // 此时exports = fun1;无效,所以需要定义接口名称
                exports.f2 = fun2; // 此时exports = fun2;无效,所以需要定义接口名称
            })
            seajs.use使用:
                seaJs.use([‘test’],function(getfun){ //对应文件设置参数 test ==> gettest
                    getfun.f1()  //由参数getfun带出f1接口内的方法fun1()
                    getfun.f2()  //由参数getfun带出f2接口内的方法fun2()
                })

        第三种:外部一般js插件改写seajs插件
                有一个dialog.js插件:
                    function dialog(){}
                    dialog.prototype.xxx = function(){}
                                .
                                .
                                .
                改写seajs插件(sea_dialog.js):
                    1.将dialog.js的代码全部拷贝到:
                        define(function(require, exports, module) {
                            //dialog.js插件的带代码
                            exports.open = dialog;
                        })
                    2.将dialog.js插件require到seajs插件里面去:
                        define(function(require, exports, module) {
                            require(‘dialog’)
                            exports.open = dialog;
                        })

                    seaJs.use([‘sea_dialog’],function(dialog){
                        dialog.open()
                    })

        第四种:jquery插件改写seajs插件
                有一个jq插件:tab.js
                    (function($){
                        $.fn.extend({
                            tab : function(option){
                                …
                            }//tap:function()
                        });//$.fn.extend
                    }(jQuery));

                改写seajs插件:
                    (function (factory) {
                        if (typeof define === ‘function’) {
                        // 如果define已被定义,模块化代码
                        define(‘tab’,[‘jquery’], function(require,exports,moudles){
                            factory(require(‘jquery’)); // 初始化插件
                            return ‘jQuery’; // 返回jQuery
                        });
                    } else {
                        // 如果define没有被定义,正常执行jQuery
                        factory(jQuery);
                    }
                    }(function ($) { // 原jQuery插件内容
                        $.fn.extend({
                            tab : function(option){
                                …
                            }//tap:function()
                        });//$.fn.extend
                    }));

                seajs.use([‘tab’],function(){
                                    el.tab({
                                        //参数设置
                                    })
                                });

            


































































































































































版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228653.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午6:31
下一篇 2026年3月16日 下午6:31


相关推荐

  • web大前端必备的VSCode插件,常用的(15个)「建议收藏」

    web大前端必备的VSCode插件,常用的(15个)「建议收藏」VisualStudioCode是由微软开发的一款免费、跨平台的文本编辑器。由于其卓越的性能和丰富的功能,它很快就受到了大家的喜爱。就像大多数IDE一样,VSCode也有一个扩展和主题市场,包含了数以千计质量不同的插件。为了帮助大家挑选出值得下载的插件,我们针对性的收集了一些实用、有趣的插件与大家分享。1.Open-In-Browser由于VSCode没有提供直接在浏览…

    2022年7月25日
    45
  • 多层感知器速成

    多层感知器速成转载自 深度学习 基于 Keras 的 Python 实践 第四章魏贞原著电子工业出版社微信文章地址 https mp weixin com s WWuKIE4ZGD3K 人工神经网络是一个引人入胜的学习领域 尽管在开始学习的时候非常复杂 本章将会快速的介绍一下在人工神经网络领域使用的多层感知器 4 1 多层感知器人工神经网络领域通常被称为神经网络或多层感知器 MLP MultilayerPe 多层感知器也许是最有用的神经网络类型 多层感知器是一种前馈

    2026年3月26日
    1
  • Dll注入的问题

    Dll注入的问题学习游戏辅助,根据郁金香的教学视频写了Dll注入的代码,针对热血江湖进行Dll注入,失败(通过360任务管理器查看到Dll并未注入到游戏进程中)。但Dll中的SetWindowsHookEx返回值不为空,说明Hook成功?但是为啥没有注入成功呢?已经在游戏进程敲击键盘了【通过键盘钩子来实现Hook的】分析原因,先是反复检查代码,并未发现问题。后面想起来,是否因为是Dll是32位,而游戏是64位?查…

    2022年5月17日
    70
  • 微信公众平台开发入门教程(图文详解)

    微信公众平台开发入门教程(图文详解)在这篇入门教程中,我们假定你已经有了PHP语言程序、MySQL数据库、计算机网络通讯及XML语言基础。如果你还没有,那么请先学习相关知识。我们将使用微信公众账号方倍工作室(账号:pondbaystudio,二维码在最底部)作为讲解的例子。这篇入门教程将引导你完成如下任务:创建百度云平台应用启用微信公众平台开发模式获取订阅、文字、图片、语音、视频消息回复文本、图文及音乐消息程

    2022年5月3日
    43
  • 数据结构哈希表例题_数据结构哈希算法

    数据结构哈希表例题_数据结构哈希算法各类介绍:各类实战代码如下:(包括五种,自己可以逐个测试)#include “pch.h”#include <iostream>using namespace std;//折半查找int BinarySearchFunc(int key, int a[], int n){ int low, mid, high; //查找标记 int count …

    2022年8月18日
    8
  • 为何OpenClaw小龙虾对大部分人不适合,没饲料也没钱养

    为何OpenClaw小龙虾对大部分人不适合,没饲料也没钱养

    2026年3月13日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号