New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
配置 #262
Comments
有任何问题,欢迎留言交流。 |
2.1.0 preload seajs插件的时候必须得这样写吗? preload: ['seajs/seajs-combo/1.0.0/seajs-combo'] 为什么不能像 事例中的那样 写啊 preload:['seajs-combo'] |
因为要指明版本吧。 |
@caopeiran 也可以 seajs.config({
alias: {
"seajs-combo": "seajs/seajs-combo/1.0.0/seajs-combo"
},
preload: ["seajs-combo"]
}) |
alias与path 有区别吗? |
@chenjie-cnooc 有区别,看文档哦 |
seajs.config({
map: [
[ '.js', '-debug.js' ]
]
}) 这样的配置,没有完全匹配 js 文件,连 |
@jsw0528 试了下,不会呀。这和时间戳没关系,是将 |
哎呀,我代码贴错了,呵呵 seajs.config({
map: [
[".js", ".js?" + new Date().getTime()]
]
}) 现在这样跟 #264 (comment) 的简易 nocache 插件 效果一样了,全局替换 |
这个应该不会匹配 |
@jsw0528 感谢反馈,的确是 bug,已解决 seajs/seajs-text#2
更新到 1.0.1 版本解决。 |
当整合jquery.js,bootstrap.js等插件的时候,是否也要改造这些插件?希望出一些关于插件整合的文档。 |
@javabird |
能不能支持 ...
alias: {
'es5-safe': 'gallery/es5-safe/0.9.3/es5-safe',
'json': 'gallery/json/1.0.2/json',
base: 'http://a.example.com/path/to/base/'
},
alias: {
'jquery': 'jquery/jquery/1.10.1/jquery',
base: 'http://b.example.com/path/to/base/'
},
... |
多个alias,最后会合并为一个。也就是说你设置多个base是没有意义的。个人感觉,一个项目设置一个固定的根目录base.比如:base:http://localhost:8080/base/. |
把 bootstrap 直接做成模块内加载也方便啊 module/bootstrap.js : 然后再 index.html 中调用就全部加载了: |
请问paths路径配置 在grunt中对应哪个配置, 不然无法正确提取依赖啊 |
请问sea.js 多少版本 可以在 js 里面设置 config,而不是在页面设置config? |
@afc163 现在安装spm指定@2.x版本可以,直接npm install spm -g就会失败,安装插件后spm build不能用,只能用spm-build,配置文件修改后也无效。 |
为什么我用 |
老师,在单页模式应用中,首页加载好之后,点击相应链接加载一个模块页面之后使用seajs.use("business/userInfo")请求这个模块页的js文件,js中是一些ajax请求,用于页面内容初始化;若这时我返回上一页,然后再点击相应链接进入这个模块页,此时也是使用seajs.use("business/userInfo")来请求相应js初始化页面,但是因为这是单页模式应用,重新进入这个模块页时因为userInfo.js已经存在,所以seajs.use("business/userInfo")并没有再次加载,这时这个模块页的内容就是空的,我应该怎么再次初始化这个页面的内容? |
为什么不能在config里面配置各个插件的依赖关系嘞,感觉很实用啊! |
说明文档是老版本的了,3.0 不是已经不支持preload配置了么 |
不太懂config配置里面alias和paths的区别? |
alias和paths有什么实质的区别,别说让看文档,看懂了就不在这里问了 |
真好的东西,特来支持下 |
有个问题,文件加载成功,但里面代码没执行,导致后面使用时这个模块是null,后面发现是base配置有问题只能是当前根目录,不能再加层级,这算是个大坑吧 |
请教这么一个问题: |
@qianet 数组吧 sea.use(['.css', '.js'], function(css, js){}); |
@zhishaofei3 好的,多谢,我尝试下看看. |
请教这么一个问题, 我的web程序前段是: html+js+css的. |
@qianet 你确定config文件每次都是请求新的?如果那样配置map之后不应该有缓存,你遇到的问题是因为html文件没有修改,所以加载的config文件一直都是缓存,所以即使config修改也不会加载新版本的js文件。所以你需要修改的不是 |
我遇到了一个问题,就是这种写法 require('../css/loading.css'); 写的引入的css默认会在后面加 .js ;变成 loading.css.js 不知道怎么解 |
define(function (require) { |
define('init', ['jquery'], function (require) { |
同上一个朋友问的,文件加载了,但是使用模块时一直提示对象null, |
你是不是模块id不对呀,你比对一下 |
@ericyin168 jquery.js没有模块化,我是这样解决的 |
配置
可以对 Sea.js 进行配置,让模块编写、开发调试更方便。
seajs.config
seajs.config(options)
用来进行配置的方法。
支持以下配置选项:
alias
Object
当模块标识很长时,可以使用
alias
来简化。使用
alias
,可以让文件的真实路径与调用标识分开,有利于统一维护。paths
Object
当目录比较深,或需要跨目录调用模块时,可以使用
paths
来简化书写。paths
配置可以结合alias
配置一起使用,让模块引用非常方便。vars
Object
有些场景下,模块路径在运行时才能确定,这时可以使用
vars
变量来配置。vars
配置的是模块标识中的变量值,在模块标识中用{key}
来表示变量。map
Array
该配置可对模块路径进行映射修改,可用于路径转换、在线调试等。
更多用法可参考:调试实践
preload
Array
使用
preload
配置项,可以在普通模块加载前,提前加载并初始化好指定模块。preload
中的空字符串会被忽略掉。注意:
preload
中的配置,需要等到use
时才加载。比如:preload
配置不能放在模块文件里面:debug
Boolean
值为
true
时,加载器不会删除动态插入的 script 标签。插件也可以根据 debug 配置,来决策 log 等信息的输出。base
String
Sea.js 在解析顶级标识时,会相对
base
路径来解析。详情请参阅 模块标识在
seajs@2.3.0
之前,Sea.js 会根据 sea.js 的路径去猜测base
路径,一般为路径上含有 seajs 字符串的上一级路径。在seajs@2.3.0
后,去掉了这个模糊的猜测。我们推荐始终手动设置一个准确的base
路径。charset
String | Function
获取模块文件时,
<script>
或<link>
标签的charset
属性。 默认是utf-8
charset
还可以是一个函数:提示
多次配置自动合并
seajs.config
可以多次运行,每次运行时,会对配置项进行合并操作:上面两处
config
运行的结果是:即:
config
会自动合并不存在的项,对存在的项则进行覆盖。插件的配置
插件可以给 Sea.js 添加配置项,请查看具体插件了解相关配置。
配置文件
配置可以直接写在 html 页面上,也可以独立出来成为一个文件。
config.js
独立成一个文件时,一般通过 script 标签在页面中同步引入。
常用的配置项是
alias
、paths
、base
,其他配置项有需要时,来查查文档就会用了。The text was updated successfully, but these errors were encountered: