【问题标题】:Turbogears integration with Require JSTurbogears 与 Require JS 的集成
【发布时间】:2016-07-08 16:04:33
【问题描述】:

所以我以前从未使用过 turbogears,但我实习的公司有 turbogears 来运行他们的 JS 文件。我正在尝试将我的新 JS 代码集成到他们的文件中,但在调用脚本时遇到重复错误,我想知道是否有人对此有任何经验。

到目前为止的代码

    <script type="text/javascript" data-main="${tg.url('/pv/demo.js')}" src="${tg.url('/pv/js/require.js')}"></script>

所以我知道它使用 $(tg.url()) 命令找到了需要的 JS 文件,但是我在调​​用 pv 目录中的其他 JS 文件时遇到了问题。在我的控制台中获取红色 GET 并且无法加载资源。

想法(糟糕)

如果我使用 turgogears 命令调用 html 文件中的每个脚本,这确实需要一些时间,因为大约有 20 个文件。它看起来也不那么干净。

问题

有没有办法在所有文件上运行该命令,或者让它与我以前不同的 require.js 一起工作?

更新

嘿,所以在 require js 我们有命令

requirejs.config({
    'baseUrl': 'src',
});

这很好告诉html页面首先加载src文件中的所有JS文件。 但是,如果我需要在 HTML 页面中运行 turbogears 以获取文件,我将如何去做呢?我确实尝试复制并粘贴

的命令
${tg.url('/pv/src')}

但那肯定是行不通的。有什么建议么 ?

【问题讨论】:

    标签: javascript jquery html requirejs turbogears2


    【解决方案1】:

    tg.url只是返回url的字符串,所以写/py/demo.js${tg.url('/pv/demo.js')}通常没有区别。

    tg.url 将为您做的是补偿SCRIPT_NAME,以防您的应用程序在子路径上运行,但是当通过gearbox 进行本地开发或在虚拟主机的根目录上部署时,您不应该注意生成的 url 有什么不同。

    你能试着更好地表达你的问题吗?在我看来,它可能与 requirejs 比与 turbogears 本身更相关,您可能需要设置 requirejs baseUrl (参见 @987654321 @)

    【讨论】:

    • 我刚刚发现这是requireJS中的baseURL有问题谢谢。我要更新我的问题!
    猜你喜欢
    • 2012-10-09
    • 2016-07-20
    • 1970-01-01
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    • 2021-11-25
    • 2015-11-02
    • 2023-01-30
    相关资源
    最近更新 更多