Closed ystarlongzi closed 9 years ago
你注意看 widget/xx/index_12345.js 里面 define 的 id 还是原来的路径。
require 使用的时候当然还是原来的路径。
你这种实际上是同步用法,如果是异步用法,实际上,框架会自动生成 require.conf({paths: {xxx}})
映射表的。
@2betop
define 里面的 id,如果还是原来路径的话,那么通过 requirejs 是无法加载对应的脚本文件的。。
=== update 2015-09-14 19:39 ===
例子中widget/xx/index.vm
内容里的
## 这里使用标记是用来和 reqiurejs 做对比的
#require('index.js')
#script()
require(['index.js'], function (app) {});
#end
define 里面的 id,如果还是原来路径的话,那么通过 requirejs 是无法加载对应的脚本文件的。。
但是程序会自动生成转换表,除非哪里出错了,一直以来都是这么干的。
// jello 会自动生成这块。
require.config({
paths: {
'widget/xx/index': '/static/widget/xx/index_12345'
}
})
@2betop
require.config
配置是生成到 map.json 里的?## widget/xx/index.vm 内容
#script()
// 会加载 widget/xx/index.js 文件
// 而不是 widget/xx/index_123456.js 文件
requirejs(['index.js'], function (app) {});
#end
怎么是 requirejs
? 而不是 require(['index.js'])
?
另外你注意下你的 widget 最后有没有 require 自己
#require('./index.vm')
@2betop 谢谢!!已解决
require(['index.js'])
,而不是requirejs(['index.js'])
,描述时写requirejs
主要为了和#require
标记区别(目前看这样描述是不准确)@2betop 这个 require.config 是生成到个文件里的?
// jello 会自动生成这块。
require.config({
paths: {
'widget/xx/index': '/static/widget/xx/index_12345'
}
})
这个是框架自动在页面里面里面输出的,不是文件里面。
你可能还没看到这个表,是因为 amd 把全局的异步 require 当同步对待了。具体看配置项里面的第3点:https://github.com/fex-team/fis-postprocessor-amd
你把他设置成 false 就看到了。
@2betop
谢谢!!! 请收下膝盖
假设有以下目录:
在
jello release -m
后,index.js
对应的文件名为index_123456.js
,那么index.js
和index.vm
发布后的内容如下: