fex-team / jello

Front End Integrated Solution for J2EE Velocity.
206 stars 49 forks source link

js 如何 require 根目录下的资源 #68

Closed ystarlongzi closed 9 years ago

ystarlongzi commented 9 years ago

假设浏览器访问地址为:http://127.0.0.1/xx/aa.do

文件目录如下:

-- page
    -- aa
        -- index.vm
-- static
    -- js
        -- aa.js

-- server.conf

server.conf 内容如下:

## 前端目录和后端目录并不一致
rewrite .*?aa\.do /page/aa/

/page/aa/index.vm 大致内容如下:

## 注意:
## 1. 页面请求地址为 http://127.0.0.1/xx/aa.do
## 2. 使用的 requirejs

## 方法1:
#script()
// 无法加载 aa.js
// 发现请求地址,并不是相对于网站根目录, 而是 http://127.0.0.1/xx/static/js/aa.js
require(['/static/js/aa.js'], function (app) {
    debugger;
});
#end

## 方法2:
#script()
// 脚本加载成功,但 app 为 undefined
// 但在 jello 编译的时候会提示找不到‘ ../static/js/aa.js ’
require(['../static/js/aa.js'], function (app) {
    debugger;
});
#end

请问这种问题要怎么解决呢?

ystarlongzi commented 9 years ago

将 requirejs 引入的方法有原来的

#require('require.js')

改为通过使用#html标签引入

#html('require.js')
2betop commented 9 years ago

问题出在 没有用 #html 标签来指定 require.js 而是通过 #require 标签引入的。导致 jello 没有输出资源转换表。