我在同一个文件夹中有一个nodejs后端和一个angular前端应用程序。angular应用程序将构建文件输出到一个静态文件夹,nodejs使用以下内容加载html文件
//Idiomatic expression in express to route and respond to a client request
app.get('/', (req, res) => { //get requests to the root ("/") will route here
res.sendFile(process.cwd()+"/angularApp/static/index.html") //server responds by sending the index.html file to the client's browser
//the .sendFile method needs the absolute path to the file, see: https://expressjs.com/en/4x/api.html#res.sendFile
});
这是我的nodejs:的app.yaml
runtime: nodejs16
handlers:
- url: /
static_files: angularApp/static/index.html
upload: angularApp/static/index.html
- url: /
static_dir: angularApp/static
然而,当我将应用程序部署到GCP时,我在控制台中出现以下错误
未能加载模块脚本:应为JavaScript模块脚本,但服务器以MIME类型"响应;text/html";。根据HTML规范,对模块脚本执行严格的MIME类型检查。
app.yaml文件应该包含什么?
Tou可以看看docker是如何工作的。基本上,您将依赖项和源代码放入一个映像中,然后就可以轻松地将其部署在谷歌云平台上https://cloud.google.com/run/docs/deploying。