关于base的默认路径:
【官方说明】: 模块系统的基础路径即 base 的默认值,与 sea.js 的访问路径相关: 如果 sea.js 的访问路径是: http://example.com/assets/sea.js
则 base 路径为: http://example.com/assets/
当 sea.js 的访问路径中含有版本号时,base 不会包含 seajs/x.y.z 字串。 当 sea.js 有多个版本时,这样会很方便。
如果 sea.js 的路径是: http://example.com/assets/seajs/1.0.0/sea.js
则 base 路径是: http://example.com/assets/

seajs的默认路径依赖:127.0.0.1/foo/assets/seajs/sea.js,当前sea.js所在的目录或seajs文件夹所在的目录【assets/】
其他路径的话需要重新设置路径,比如127.0.0.1/foo/public/base/sea.js
我要设置public为默认路径,在config里设置base:’./public’

‘./‘是当前默认目录,当前默认目录是网站根目录开始

当然,也可以手工配置 base 路径:
seajs.config({
base: 'http://code.jquery.com/'
});
在模块代码里:
require.resolve('jquery');
// => http://code.jquery.com/jquery.js
【注意】:一般请不要配置 base 路径,把 sea.js 放在合适的路径往往更简单一致。
【参考】:https://github.com/seajs/seajs/issues/258

引入后的调试方法:
alert(require.resolve('jquery'));
alert($);

常见问题
问题一:
改变了jquery.js存放的目录后,文件已经加载,但无法引用。 这个是因为路径于不匹配导致的。 你用的是从seajs官方下载的jquery源,它是打包好的cmd模块,只不过比较特殊而已。ID 是 jquery/jquery/1.10.1/jquery,seajs的define默认ID是于路径想匹配的,所以改变路径后就引用不到。 如果是非官方的jquery源,你就必须自己处理,暴露出方法接口:

jquery.js

define(function(require,exports,module) {
module.exports = jQuery;
});

main.js

define(function(require, exports, module) {
var $ = require('jquery');
})

或者直接引用

define(function(require, exports, module) {
require('jquery');
})

【参考】:https://github.com/seajs/seajs/issues/962

seajs使用记录的更多相关文章

  1. 深入seajs源码系列二

    模块类和状态类 参照上文的demo,我们结合源码分析在简单的API调用的背后,到底使用了什么技巧来实现各个模块的依赖加载以及模块API的导出. 首先定义了一个Module类,对应与一个模块 funct ...

  2. seajs源码分析

    seajs主要做了2件事 1.定义什么是模块,如何声明模块:id.deps.factory.exports ----define=function(id,deps,factory){return ex ...

  3. 折腾一两天,终于学会使用grunt压缩合并混淆JS脚本,小激动,特意记录一下+spm一点意外收获

    很长时间没有更新博客了,实在是太忙啦...0.0 ,以下的东西纯粹是记录,不是我原创,放到收藏夹还担心不够,这个以后常用,想来想去,还是放到这里吧,,丢不了..最后一句废话,网上搜集也好原创也罢,能解 ...

  4. seajs 源码阅读笔记

    代码概览 src目录文件列表如下: 代码以模块化的方式来组织,构建的时候会合并为一个js文件(sea.js 或 sea-debug.js),其中,intro.js和 outro.js 分别是这个js文 ...

  5. 前端模块化开发之seaJs

    了解后端语言的童鞋一定听过模块化开发的概念,比如java.python等后端语言都有自己的模块化特性,然而和后端语言相比,javascript还尚未实现模块化的功能,虽然之后的更高版本可能引入模块化开 ...

  6. seajs中spm压缩工具使用

    seajs是个好东西,用起来很方便,但是她的压缩工具spm确不被网友看好,因为使用起来很麻烦,捯饬了一天多,终于勉强能压缩了,这里就简单记录一下. 按照地址:http://www.zhangxinxu ...

  7. seajs 源码解读

    之前面试时老问一个问题seajs 是怎么加载js 文件的 在网上找一些资料,觉得这个写的不错就转载了,记录一下,也学习一下 seajs 源码解读 seajs 简单介绍 seajs是前端应用模块化开发的 ...

  8. Mod 与 RequireJS/SeaJS 的那些事

    本文的目的是为了能大让家更好的认识 Mod,之所以引入 RequireJS/SeaJS 的对比主要是应大家要求更清晰的对比应用场景,并不是为了比较出孰胜孰劣,RequireJS 和 SeaJS 都是模 ...

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

    (仅供自己使用,勿喷) 闲着无聊,尝试下seajs, 只是在公司项目上随便添加并测试了一下,做下记录, 方便以后自己使用更快的上手: 下载最新的sea.js, v- 3.0.0 新建seajsConf ...

随机推荐

  1. Advanced Awk for Sysadmins

    转:http://www.linuxforu.com/2011/06/advanced-awk-for-sysadmins/ By Vishal Bhatia on June 1, 2011 in H ...

  2. c#实现无标题栏窗口的拖动

    当把窗体的FormBorderStyle属性设为None后会导致边框没了,结果窗体无法用鼠标拖动.最大.最下化和关闭…… 下面解决窗体可拖动问题:1.首先导入命名空间: using System.Ru ...

  3. c#删除转义字符的方法,删除\0后所有字符串(菜鸟级别)

    string str = "78738\01212"; string str_2= Regex.Unescape(str); int index = str_2.IndexOf(& ...

  4. HTML常用标签和属性大全

    html标签< <marquee>...</marquee>普通卷动 <marquee behavior=slide>...</marquee>滑 ...

  5. Quoit Design

    Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission ...

  6. 基于python3的手机号生成脚本

    今天利用业余,自己突发想法来写个手机号码生成的脚本,其实自己用的方法很简单,想必肯定又不少人写的比我的好,我只是自己闲来无聊搞一下, #作者:雷子 #qq:952943386 #日期:2016年7月1 ...

  7. solrj:org.apache.solr.common.util.NamedList.java

    package org.apache.solr.common.util; import java.io.Serializable; import java.util.ArrayList; import ...

  8. java 的文件读取操作

    /** * @param filePath 文件的全路径 * 返回我们读取到的文件内容 * **/ public static String readFile(String filePath) { F ...

  9. HDU 2845 Beans (DP)

    Beans Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status ...

  10. hdu-5698 瞬间移动(数论+快速幂)

    题目链接: 瞬间移动 Problem Description   有一个无限大的矩形,初始时你在左上角(即第一行第一列),每次你都可以选择一个右下方格子,并瞬移过去(如从下图中的红色格子能直接瞬移到蓝 ...