如何在 AppEngine Standard 和 Nodejs 中提供静态文件

2023-12-30

The 文档 https://cloud.google.com/appengine/docs/standard/nodejs/serving-static-files表示您只需更新您的 app.yaml - 就像 AppEngine 中的任何语言一样。稍后它还指出,对于本地开发,您可能希望服务器也响应静态请求。但是,当我将非常简单的 app.yaml 更新为这样时:

runtime: nodejs8

handlers:
  - url: /apiEndPoint
    script: auto

  - url: /.*
    static_dir: public

似乎所有请求最终仍然会进入我的脚本 - 这将在 prod 实例中返回 404,因为这些文件不会被上传。我可以强制上传它们,然后我的 Nodejs 服务器响应静态请求 - 但我认为这个 app.yaml 的想法是对其进行配置,以便在我的应用程序逻辑之外提供静态文件?


所以要明确的是——you can在生产环境中托管静态文件 Nodejs 标准 AppEnginewithout需要使用JS服务器。但是,对于本地开发,您必须找到一种在计算机上运行时在本地提供这些文件的方法。出于这个原因,您将静态文件的处理程序放在 Express 中,在生产中永远不应该触及它 - 因为 app.yaml 处理程序是第一遍。

如果您想确定 Express.js 在生产中不提供静态文件,您可以通过执行以下操作来实现:

// Production instances automatically have this environment variable.
const isLocal = (process.env.NODE_ENV !== "production");

if(isLocal) {
  app.use(express.static('public'));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 AppEngine Standard 和 Nodejs 中提供静态文件 的相关文章

  • Visual Studio 代码断点在使用 TypeScript 的 Node.js 上不起作用

    我尝试了很多解决方案 但没有人适合我 代码执行 但我无法放置断点并调试它 请你帮助我好吗 我尝试过以下 VSCode 配置脚本 type node request launch name Typescript Node JS program
  • Angular2 + Laravel 与实时和 WebSockets

    我构建了一个应用程序 并计划与 Angular 2 和 laravel 进行实时战斗 例如 你按下 攻击 按钮 你的对手就会实时看到他的生命在下降 我的应用程序构建有 前端 角2 Backend PHP Laravel 5 2 现在我正在寻
  • 节点:使用 Nodemailer 的直通流

    我正在使用officegen 生成一个Word 文档 然后计划使用Nodemailer 和Sendgrid 将其附加到电子邮件中 Officegen 输出一个流 但我更愿意将其直接传递到附件 而不是在本地保存 Word 文档然后附加它 Ge
  • 语法错误:elasticdump 中的exports.runInThisContext (vm.js:53:16) 处出现意外标记 {

    我试图使用elasticdump 将elasticsearch 数据从一台服务器移动到另一台服务器 当我给予 elasticdump input http 192 168 0 122 9200 my index output http lo
  • 如何使用 Nodejs 创建 Excel 文件?

    我是一名 Nodejs 程序员 现在我有一个数据表 我想将其保存为 Excel 文件格式 我该怎么做呢 我找到了一些 Node 库 但其中大多数是 Excel 解析器而不是 Excel 编写器 我使用的是 Linux 服务器 因此需要一些可
  • 使用端口 80 的 AWS Elastic Beanstalk 上的 WebSocket 问题

    我正在将一个 node js 应用程序从 Heroku 迁移到在端口 80 上使用 WebSocket 的 AWS Elastic Beanstalk WebSocket 在 AWS Elastic Beanstalk 上返回 301 错误
  • C++:初始化静态字符串成员

    我在 C 中初始化静态字符串成员时遇到一些问题 我有几个类 每个类都包含几个表示 id 的静态字符串成员 当我通过调用静态函数初始化变量时 一切都很好 但是 当我想为一个变量分配另一个变量的值时 它仍然保留空字符串 这段代码有什么问题 st
  • Nodejs 一个接一个地运行异步函数

    我是 JS nodejs 的新手 所以如果我不能提出切中要害的问题 请原谅我 所以基本上 如果我有两个异步函数 async function init async function main 如何确保在 init 完成其异步请求后调用 ma
  • Node.js 检测两个猫鼬查找何时完成

    我正在尝试使用自动完成功能初始化两个输入library https www devbridge com sourcery components jquery autocomplete 当我加载页面时 我将触发 Ajax 来初始化两个输入文本
  • Cloud Functions for Firebase - 通过 Nodejs/Cloud Function 将多个 PDF 合并为一个

    我遇到了一个问题 我试图通过云功能合并一堆 PDF 然后将合并的 PDF 下载到用户的计算机上 我的提供程序中有一个函数 它调用云函数并传递指向 pdf 的 URL 数组 如下所示 mergePDFs pdfs Create array o
  • VB.NET 中的静态方法实现

    我很困惑Static在 VB NET 中的实现 在 C 中 我们可以创建静态类和静态方法来为我们的应用程序编写实用方法 现在 VB NET 让我们创建Module代替静态类 如果我们在模块中创建一个方法 默认情况下它会变成静态的 但在我的应
  • 带有 npm 启动脚本的 Nodejs 应用程序

    我对nodejs很陌生 在我的docker化环境中 我想为nodejs应用程序提供appdynamics支持 这要求每个应用程序都要求将以下内容作为其应用程序的第一行 require appdynamics profile controll
  • 如何将函数设置为 multer 上的限制参数?

    在这个问题之后 我可以使用 multer 和单个 html 表单上传不同文件夹中的多个文件吗 https stackoverflow com questions 39726862 cani upload many files in diff
  • 如何在 VSCode 调试器中执行异步函数? [复制]

    这个问题在这里已经有答案了 如果我在一些 javascript 代码中放入 VSCode 调试器并使用 wait 调用异步函数 它只会返回一个承诺 如何解决调试器中的承诺 以便我可以看到结果是什么 例如 如果我定义一个像这样的函数 cons
  • Lisp 函数如何记住这段代码中的状态?

    我从网站上看到一段代码http www ccs neu edu home shivers newstyle html http www ccs neu edu home shivers newstyle html gt defun elem
  • 从自己的 gitlab 服务器安装节点模块

    我想从我们的 gitlab 服务器安装节点模块 这是存储库的链接 http ABCD GITLAB myGroup myNodeModule git http ABCD GITLAB myGroup myNodeModule git 根据n
  • 使用填充方法在 sails mongo 中进行深层关联?

    我是 sails js 的新手 我正在使用 sails js 与 Mongodb 我在我的 sails 应用程序中使用 populate 进行深层关联时遇到问题 我有这样的关系 Category has many to many relat
  • 如何将内联 JavaScript 与 Express/Node.js 中动态生成的内容分开?

    对于具有几年 Web 开发经验但没有找到答案的人来说 这是一个有点菜鸟的问题程序员堆栈交换 or Google 我决定在这里问一下 我在用Express网络框架Node js 但这个问题并不特定于任何 Web 框架或编程语言 以下是从数据库
  • iphone sqlite 静态链接?

    有人静态链接 sqlite 而不是使用动态链接 吗 我遇到的问题是 越狱手机的用户没有与普通 iPhone 所采用的 sqlite 版本相同的版本 因此导致崩溃 我假设在我的应用程序中静态链接已知版本的 sqlite 就是答案 我需要全文支
  • 使用 postgres 和 node js 在单个语句中执行多个查询

    我需要在像这样的单个语句中执行插入和删除查询 INSERT INTO COMPANY ID NAME VALUES 1 Paul DELETE FROM COMPANY WHERE ID 12 这是我用于执行查询的 node js 代码 p

随机推荐

  • 标签打印机的自定义纸张尺寸(Brother QL 570)

    我有一台新的标签打印机 Brother QL 570 支持无限纸张 我的想法是 我可以通过打印所需的纸张来节省纸张 错误 打印机附带的纸张尺寸为 63 毫米 x 100 毫米和 63 毫米 x 29 毫米 以及其他一些 但我需要 63 毫米
  • 使用 lubridate 从 POSIXct 日期时间计算该月的第一天

    给定 POSIXct 日期时间 如何提取该月的第一天进行聚合 library lubridate full date lt ymd hms 2013 01 01 00 00 21 润滑 https cran r project org we
  • 为什么填充必须是 2 的幂?

    我正在做一些示例程序来探索 C 并且想知道为什么结构填充只能以 2 的幂来完成 include
  • 避免“通过派生类型访问类型的静态成员”

    我相信这纯粹是 Resharper 警告 但其背后的原因 已解释 here https stackoverflow com questions 660132 using a classs static member on a derived
  • macOS 13升级xcode git命令行工具总是尝试找到旧的SDK,即使安装了git它仍然声称我需要安装

    xcodebuild 错误 无法找到 SDK Applications Xcode beta app Contents Developer Platforms MacOSX platform Developer SDKs MacOSX12
  • PyQt5:如何安装/运行 Qt Designer

    现在感觉真的很愚蠢 但标题说明了一切 How你启动QtDesigner了吗 我已经安装了PyQt5 via pip我相信已将其安装目录确定为 C Users username AppData Local Programs Python Py
  • “数据位”容量与“开销位”大小?

    我有点困惑 因为我找不到任何涵盖缓存 数据 部分的内容 我在 google 上搜索到的所有内容 99 9 都与缓存寻址有关 我被问到的问题是这样表述的 Contrast the difference between data bit cap
  • DbSet<>.Local 使用时需要特别小心吗?

    几天来 我一直在努力从存储库中检索我的实体 DbContext 我试图在原子操作中保存所有实体 因此 不同的实体在一起对我来说代表着有价值的东西 如果所有实体都是 有效 那么我可以将它们全部保存到数据库中 实体 a 已存储在我的存储库中 需
  • 多个物体之间的碰撞

    我正在编写一个简单的物理系统来娱乐 但我遇到了一个让我陷入困境的问题 现在的基本算法是 移动物体 检查是否有碰撞 If there was a collision 将对象移动最小距离以解决碰撞 根据法线 质量等调整速度 我有一个移动的物体朝
  • 情感分析中的否定处理

    我在这里需要一点帮助 我需要识别 不好 不错 等负面词语 然后识别情绪的极性 消极或积极 除了处理否定之外 我做了所有事情 我只是想知道如何将否定包含在其中 我该怎么办 否定处理是一个相当广泛的领域 有许多不同的潜在实现 在这里 我可以提供
  • 无法确定存储版本 - 实体框架

    我正在当前解决方案的一个单独的项目中实现代码优先模式 因为我这样做了 所以我初始化了我的连接字符串DbContext我收到这个奇怪的错误 无法确定存储版本 有效的存储连接或 需要版本提示 我正在使用 Entity Framework 5 0
  • 从对象验证消息中删除字段名称

    我在表单中使用它对对象进行了简单的活动记录验证 form error messages message gt header message gt 这又会输出类似 FieldName My Custom message 的内容 我需要做的是从
  • JavaFX BooleanProperty 和 Hibernate

    我正在尝试将 JavaFX BooleanPropety 添加到由 Hibernate 保留的模型中 但出现以下错误 Caused by org hibernate MappingException Could not determine
  • 避免在释放控件时调用 Invoke

    我的工作线程中有以下代码 ImageListView下面是源自Control if mImageListView null mImageListView IsHandleCreated mImageListView IsDisposed i
  • RSpec:如何存根继承的方法 current_user (无需设计)?

    我有一个基于 MHartl 的控制器RoR4 教程 http www railstutorial org book single page 就像 MHartl 一样 我没有使用设计 I 推出了我自己的身份验证系统 http www rail
  • UIImagePickerController 快门

    I have bug with UIImagePickerController which source type is camera Sometimes after controller appeared shutter is not o
  • 实现 π (pi) 的 Spigot 算法

    我很难理解插口算法找到 pi here http www cut the knot org Curriculum Algorithms SpigotForPi shtml在页面底部 我在第 2 部分 将 A 放入常规形式 的底部迷失了方向
  • 如何在 C# 中的随机端口上创建 HttpListener 类?

    我想创建一个在内部提供网页服务的应用程序 并且可以在同一台计算机上的多个实例中运行 为此 我想创建一个HttpListener监听的端口是 随机选择 目前未使用 本质上 我想要的是这样的 mListener new HttpListener
  • 如何设置新创建的 emacsclient 的样式和位置?

    我最近改用 emacsclient 进行大部分文本编辑 我正在尝试将一些设置迁移到新的 略有不同的 环境 特别是 在我的 emacs 文件中 我有一个设置窗口大小并准备一些主题的函数 但是 emacs 文件中的代码不会在每次调用 emacs
  • 如何在 AppEngine Standard 和 Nodejs 中提供静态文件

    The 文档 https cloud google com appengine docs standard nodejs serving static files表示您只需更新您的 app yaml 就像 AppEngine 中的任何语言一