初尝seajs,只提供自己学习做笔记

(仅供自己使用,勿喷)

闲着无聊,尝试下seajs, 只是在公司项目上随便添加并测试了一下,做下记录, 方便以后自己使用更快的上手:

  1. 下载最新的sea.js, v- 3.0.0
  2. 新建seajsConfig.js,主要为seajs的配置,这里我只配置jquery
/**
 * JS文件模块化
 */
seajs.config({
    base: "./js/lib/",
    alias: {
        "jquery": "jquery/jquery-1.12.4.min.js"
    }
})

3. 新建topMenu.js, 主要为

/**
 * topMenu.jsp JS模块化定义
 *
 */
define(function(require, exports, module) {
    var $ = require(‘jquery‘);
    //require(‘artdialog‘); //这边添加所有需要引入当前页面的所需的JS包

    // 通过 exports 对外提供接口
    //exports.doSomething = ...

    // 或者通过 module.exports 提供整个接口
    //module.exports = ...

    exports.init = function(){
        alert("模块初始化完成,回调");
    }
});

4. 这会 $ 为空, 需修改JQuery源码:

define(function(){

    //此处为jquery源码
    return $.noConflict();
});

5. 最后topMenu.jsp

<script type="text/javascript" src="js/seajs/3.0.0/sea.js"></script>
    <script type="text/javascript" src="js/ets/seajsConfig.js"></script>
    <script type="text/javascript">
        seajs.use("./js/app/topMenu",function(m){
            m.init();
        });
    </script>

最后注意几个地方:

1. 因为刚接触seajs,觉得很多依赖jquery的组件或者JSP代码下需要$来操作的话,个人觉得还是以在页面中引入jquery文件,topMenu.js只引入一些常用的公共jquery等组件,比如窗口、校验等JS组件。

<script type="text/javascript" src="common/jquery/jquery-1.7.2.min.js"></script>
    <script type="text/javascript" src="js/seajs/3.0.0/sea.js"></script>
    <script type="text/javascript" src="js/ets/seajsConfig.js"></script>
    <script type="text/javascript">
        seajs.use("./js/app/topMenu",function(m){
            m.init();
        });
    </script>

只研究了2小时,因为seajs加到当前系统中比较繁琐,所以放弃JS模块化,因为是后台系统,对性能没特殊要求。

最后贴下目录

好了 OK了, 方便以后自己使用。

时间: 2024-08-04 09:18:27

初尝seajs,只提供自己学习做笔记的相关文章

this指向问题,只提供案例,不做任何分析

希望大家在测试的道路上找到答案,阔步前行 <script type="text/javascript"> /*this指向 console.log(this); function fn(){ console.log(this); } fn(); function Foo(){ this.name="jhon"; this.age=20; console.log(this); } var f1=new Foo(); function Foo(){ this

seajs初尝 加载jquery返回null解决学习日志

原文地址:http://www.tuicool.com/articles/bmuaEb 今天早上初尝seajs,发现一个非常蛋疼的事情,使用官方demo中的jquery是没有问题, 下载官方最新版jquery 2.1.1发现console.log($)返回null,百思不得其解!只能求助度娘! 在GitHub发现了玉伯的说明 < 直接调用 jQuery 插件等非标准模块的方法 > 不过这方法在2.3版本貌似已经不行,seajs.modify方法已在这版本移除! https://github.c

《iOS应用逆向工程》学习笔记(五)初尝越狱插件OpenSSH

首先在越狱机子上装上OpenSSH插件,然后查看设备的IP地址,这里假设为192.168.xxx.xxx. 然后用Mac上的Terminal通过Open SSH连接到设备上(初次登录密码是alpine,必须立即修改,否则任何人都可以连接到你的机子上搞破坏). 连接命令为:ssh [email protected]设备IP地址 修改密码命令为:passwd 例如: $ ssh [email protected] The authenticity of host '192.168.xxx.xxx (

.NET领域驱动设计—初尝(一:疑问、模式、原则、工具、过程、框架、实践)

.NET领域驱动设计—初尝(一:疑问.模式.原则.工具.过程.框架.实践) 2013-04-07 17:35:27 标签:.NET DDD 驱动设计 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://wangqingpei557.blog.51cto.com/1009349/1173006 1.1.疑问 1.1.1.UML何用 1.1.2.领域建模 1.2.模式 1.3.原则 1.4.工具 1.5.过程 1.6.框架 1.7.项

初尝 Perl

本文将阐述以下几方面内容: 1.什么是Perl 2.Perl有什么用 3.Windows 下的Perl环境搭建 4.Perl 版Hello World 5.Perl 语法梗概 6.一些参考资料 什么是Perl Perl 是一门由 Larry Wall(拉里·沃尔)设计并实现的一门脚本语言,Larry Wall设计这门语言的最初的目的为了让UNIX 上得报表处理工作变得更方便.Perl 第一版的发行时间为 1987年(Python第一版的发行时间为 1991年.Ruby第一版的发行时间为 1995

用深度学习做命名实体识别(四)——模型训练

通过本文你将了解如何训练一个人名.地址.组织.公司.产品.时间,共6个实体的命名实体识别模型. 准备训练样本 下面的链接中提供了已经用brat标注好的数据文件以及brat的配置文件,因为标注内容较多放到brat里加载会比较慢,所以拆分成了10份,每份包括3000多条样本数据,将这10份文件和相应的配置文件放到brat目录/data/project路径下,然后就可以从浏览器访问文件内容以及相应的标注情况了. 链接:https://pan.baidu.com/s/1-wjQnvCSrbhor9x3G

Github原生CI/CD,初尝Github Actions

Github 原生 CI/CD,初尝 Github Actions Intro Github 目前已经推出了自己的 CICD 服务 -- Github Actions,而且比微软的 Azure DevOps Pipelines 对开发者来说更友好,使用起来更好用. Github Actions 核心概念 总体看下来感觉是从 Azure Pipelines 迁移过来的东西,有许多概念和 Azure Pipelines 是类似的,如果你之前用过 azure pipelines,应该很容易上手 Run

还原数据库备份文件时,关于“System.Data.SqlClient.SqlError:媒体集有2个媒体簇,但只提供了1个。必须提供所有成员”的处理方式

好久没写博客了,最近在做毕设的权限管理模块,今天在还原数据库文件时,遇到了“System.Data.SqlClient.SqlError:媒体集有2个媒体簇,但只提供了1个.必须提供所有成员”这个错误,百度了一下,找到了原因和解决方式. 原因分析:1.备份的时候,旧路径没有删除,我添加了一个新路径,就无意中设置成了两个备份路径,SQL就会根据两个备份路径把备份文件分成两个.2.还原的时候源数据必须把两个备份文件都加载上.3.还原的新路径要手工修改成实际SQL的data文件夹路径.4.如果有同名数

初尝backbone

backbone的基础知识在此将不再进行介绍.自己后续应该会整理出来,不过今天先把这几天学的成果用一个demo进行展示. 后续可运行demo将会在sinaapp上分享,不过近期在整理sinaapp上demo分享版块的重构,恕不能及时更新上去. 手把手教你搭建Hello World 虽然这次的开篇程序叫做helloworld有点牵强,但是我还是喜欢叫它为hello world~^_^ 以下程序改编自著名的todos程序,todos是什么?其实如果学过backbone的,肯定看到过todos的实例,