• seajs使用记录


    关于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

  • 相关阅读:
    Creating A Moddable Unity Game
    C# 动态编译
    编程题:求一个矩阵中最大的二维子矩阵(即二维子矩阵的和最大)好未来
    编程题:求单链表倒数第k位的值(最后一位为倒数第0位)好未来
    Docker执行错误报错--Error response from daemon: No command specified
    suse下静默方式安装oracle(无图形界面)
    无法删除oracle用户的问题
    Python正则表达式
    Linux密码复杂度问题
    编程练习:实现树的层次遍历 (CVTE笔试)
  • 原文地址:https://www.cnblogs.com/Qzhou/p/3438710.html
Copyright © 2020-2023  润新知