【问题标题】:Require JS and running a command in the baseUrl需要 JS 并在 baseUrl 中运行命令
【发布时间】:2016-07-11 15:48:00
【问题描述】:

所以我已经缩小了我的问题范围,想知道是否有解决这个问题的方法或解决它的方法。

我一直在编写的 HTML 代码使用了一个名为 turbogears 的网络框架。 要在 turbogears 中获取文件,它使用此命令

<script type=text/javascript src= "${tg.url('pv/jquery-2.0.2.min.js')}"

没有它我会收到这样的错误消息

GET 'pv/jquery-2.0.2.min.js' 500 Internal Server Error

现在我正在努力将我的代码集成到其他人中,并且我在我的代码中使用了 RequireJS。所以在我的要求中我有这个设置

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

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

require(['pv'], function(PV) {
//code here
}

所以我认为发生的情况是它在 javascript 之前运行 turbogears 命令,当它到达要求时,它不知道如何在没有 turbogears 命令的情况下获取文件。

所以我想知道如何使用 requireJS 以某种方式运行命令?有简单的解决方案吗?我对 turbogears Web 框架不太熟悉,因为我只是想集成我的代码。

我尝试过的事情

我尝试只复制并粘贴命令以替换 baseURL 中的 src

requirejs.config({
    'baseUrl': "${tg.url('pv/src')}"
});

这不起作用并以相同的错误响应。

我想我必须让每个单独的脚本标签来调用每个文件?这可能太复杂了,而且代码很乱。

关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: javascript jquery html requirejs turbogears2


    【解决方案1】:

    你不必总是使用

    "${tg.url('')"

    。假设在我的公共目录中我有一个文件夹 javascript 并且我有 require.js 然后我可以像这样直接包含它:

    <script type="text/javascript" src="/javascript/require.js"></script>
    

    如果您在任何地方使用标签 ${},那么它将在 javascript 之前进行评估。

    【讨论】:

      猜你喜欢
      • 2012-05-03
      • 2020-02-21
      • 2023-03-23
      • 1970-01-01
      • 2022-07-12
      • 1970-01-01
      • 2019-11-02
      • 2016-11-08
      • 1970-01-01
      相关资源
      最近更新 更多