在Google App Engine中加载JavaScript

Cli*_*Hui 5 javascript python jquery google-app-engine

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

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

<script src="d:\jquery.js" type="text/javascript" ></script></head>,
Run Code Online (Sandbox Code Playgroud)

这一行在我的基本HTML文件中.它从远程加载jQuery时工作.喜欢

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"type="text/javascript" ></script></head>
Run Code Online (Sandbox Code Playgroud)

我不知道为什么.

其次,我无法将自己创建的JavaScript代码加载到HTML文件中.假设我创建了一个JavaScript文件,layout.js我尝试在我的子HTML文件中加载它,顺便说一下,它继承自基本 HTML.

 <body><script src="layout.js" type="text/javascript"></script></body>
Run Code Online (Sandbox Code Playgroud)

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

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

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

Ada*_*and 19

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

handlers:
- url: /js
  static_dir: js
Run Code Online (Sandbox Code Playgroud)

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

<script src="/js/jquery.js" type="text/javascript" ></script>
Run Code Online (Sandbox Code Playgroud)

  • 检查app.yaml中网址处理程序的顺序.如果在/.*之上没有/ js处理程序,则/.*规则将在/ js规则获得机会之前捕获所有GET请求(包括您的js目录). (9认同)