require.js - 构建路径的运行时动态变量

时间:2012-01-01 18:15:45

标签: node.js requirejs

是否可以将运行时信息注入require.js“data main”脚本并用于构建路径?更多解释......

在我的node.js app.js中,我动态地找到配置的'主题'的路径,如下所示:

var themePath = require('./conf/config.js').config.theme.full_path;

以后在require.js数据主脚本中,我想在定义路径时添加这个主题路径。假设我已经设置了我的requirejs data-main =“xxx”,以下是xxx文件,我想做类似以下的事情:

require.config({
    baseUrl: "/js/",
    paths: {
        "templates"  : DYNAMIC_THEME_PATH + '/templates',
        "views"  : DYNAMIC_THEME_PATH + '/views'
    }
});

我不确定1.如何从这个require.js数据主文件中“看到”themePath,以及2.这是否可能?

编辑 - 我的解决方案

因此,我遇到的真正挑战是在服务器上发现运行时变量到require.js数据主脚本。在节点域中,全局不对应于客户端上的窗口(当然),因为javascript还没有进入浏览器..呃。因此,我不知道如何在客户端脚本中发现这一点。

好的,我能做的就是在ejs中注入发现的主题路径,然后动态加载数据主脚本,如下所示:

<script data-main="<%= theme_path %>/main" src="../js/libs/require-jquery.js"></script>

当然这意味着我必须在主题目录中拥有数据主脚本,这不是我最初的计划;但是,它确实具有以下优点:我可以使用相对路径来加载我的路径/到/ templates路径/到/视图等等。

最后,当人们回答他们自己的问题时,我有点讨厌。所以我要放弃这一点,希望有人可以给我一个更好的推荐或更好地解释这个,他们可以得到信用; )

0 个答案:

没有答案