我正在 AppEngine 上设置一个简单的网络应用程序,但在配置 app.yaml 时遇到了一些问题。它包括一个 HTML 页面、一个 JS 脚本和一个 NodeJS 服务器。
我的项目结构:
\app.yaml
\package.json
\www
\index.html
\js
\server.js
\index.js
索引.html:
<!DOCTYPE html>
<html>
<body>
<div id="JShere" >Hello World !</div>
<div id="ReqAnswer"></div>
</body>
<script src="js/index"></script>
</html>
索引.js:
document.getElementById('JShere').innerHTML = "JS is running";
var xhr = new XMLHttpRequest();
xhr.open('GET', "/srv", true);
xhr.send();
xhr.addEventListener("readystatechange", processRequest, false);
function processRequest(e) {
if (xhr.readyState == 4 && xhr.status == 200) {
document.getElementById('ReqAnswer').innerHTML = xhr.responseText;
}
}
node.js 服务器:
const express = require('express');
const app = express();
app.get('/srv', function (req, res) {
res.send('Request anwser')
})
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
console.log(`Server listening on port ${PORT}...`);
});
包.json:
...
"scripts": {
"start": "node www/js/server.js",
"test": "mocha --exit test/*.test.js"
},
...
应用程序.yaml:
runtime: nodejs10
handlers:
- url: /
static_files: www/index.html
upload: www/index.html
- url: /index
static_files: www/index.html
upload: www/index.html
- url: /page2
static_files: www/page2.html
upload: www/page2.html
- url: /www
static_dir: www
当我在本地检查时,index.js 会正确修改index.html,但是当我将其部署到 App Engine 时,index.js被阻止(MIME 类型(« text/html »))。然后它“无法加载” index.html。尽管如此,脚本仍然向服务器发起 GET 请求并得到 404 错误。是 App.yaml 问题还是其他问题?
慕无忌1623718
相关分类