在Google App Engine中加载JavaScript

6 投票
1 回答
8577 浏览
提问于 2025-04-16 13:33

我在使用Google App Engine加载JavaScript的时候感到很困惑。我是在用Django模板。

首先,在我的基础HTML文件中,我无法从本地加载我下载的jQuery代码,比如说d:/jquery.js,像这样:

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

这行代码在我的基础HTML文件中。它从远程加载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文件中尝试这样加载它,而这个子文件是从基础HTML继承过来的。

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

但是它根本不工作。我尝试的唯一有效的方法是把实际的JavaScript代码放在我的基础HTML文件的主体部分。像这样:

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

我也不知道为什么……我该怎么解决这个问题呢?

1 个回答

20

AppEngine 对你本地系统的路径一无所知;它只会上传你配置好的文件。你可以在你的 app.yaml 文件中加上一行这样的代码:

handlers:
- url: /js
  static_dir: js

在这个例子中,/js 代表你主项目目录下的一个子目录,你可以把所有的静态 JavaScript 文件放在这里。这样它们就会被上传到生产服务器上,你可以在 HTML 中通过以下方式引用它们:

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

撰写回答