【问题标题】:Load JavaScript in Google App Engine在 Google App Engine 中加载 JavaScript
【发布时间】:2011-07-14 02:29:19
【问题描述】:

我很困惑在Google App Engine 中加载 JavaScript。我正在使用 Django 模板。

首先,在我的 base HTML 文件中,我无法从本地例如d:/jquery.js 加载我下载的 jQuery 代码,例如

<script src="d:\jquery.js" type="text/javascript" ></script></head>,

这一行在我的基本 HTML 文件中。当我从 remote 加载 jQuery 时,它可以工作。喜欢

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"type="text/javascript" ></script></head>

我不知道为什么。

其次,我无法将自己创建的 JavaScript 代码加载到我的 HTML 文件中。假设我创建了一个 JavaScript 文件,例如 layout.js,并尝试像这样将它加载到我的子 HTML 文件中,顺便说一下,该文件继承自 base HTML。

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

而且它根本不起作用。我尝试过的唯一方法是将实际的 JavaScript 代码放在我的基本 HTML 文件的正文中。喜欢

<body><script>
    $(document).ready(
        $("#yes").click(function() {
            $("#no").hide("slow");
    }));
</script>

我也不知道为什么...我该如何解决?

【问题讨论】:

  • 您能否更清楚地表达您的问题,或者至少将其分成几段?另请注意,` 是插入代码的正确字符,而不是 *
  • 您怎么能认真地期望您的前端代码从本地机器加载脚本?

标签: javascript jquery python google-app-engine


【解决方案1】:

AppEngine 对本地系统上的路径一无所知;它只会上传您配置的文件。通过在 app.yaml 文件中添加这样的一行来做到这一点:

handlers:
- url: /js
  static_dir: js

在这种情况下,/js 代表主项目目录的子目录,您可以将所有静态 JavaScript 文件放在其中。它们将被上传到生产服务器,您可以将它们包含在您的 HTML 中:

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

【讨论】:

  • 感谢您的回复,但是我按照您上面所说的配置了我的 app.yaml,并将我所有的 javascirpt 文件放入 js 子文件夹中。但我仍然收到一个错误,说 404 not found... Request URL:localhost:8080/js/jquery.js Request Method:GET Status Code:404 Not Found,谢谢
  • 检查 app.yaml 中 url 处理程序的顺序。如果 /.* 上方没有 /js 处理程序,则 /.* 规则将在 /js 规则有机会之前捕获所有 GET 请求(包括您的 js 目录)。
猜你喜欢
  • 1970-01-01
  • 2020-08-26
  • 1970-01-01
  • 2018-06-28
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多