0

我已经阅读了谷歌的文档和一些类似的问题,但没有成功调整我的问题的答案。我在Node.js 标准环境中使用Google App Engine ,并且我的大部分应用程序已经正常工作并且配置正确。

现在我正在尝试将npm模块用作我的服务器端应用程序的库代码,以及我用作静态目录的客户端 javascript 应用程序对于这个例子,考虑广泛使用的jquery模块,当然在npm

我相信这个问题在我的app.yaml文件中,提炼到与这个问题相关的部分:

handlers:
### THIS ROUTE IS NOT WORKING
- url: /client/shared/lib/jquery\.js$
  static_files: node_modules/jquery/dist/jquery.js
  upload: node_modules/jquery/dist/jquery\.js$
  mime_type: text/javascript
### CLIENT-SIDE STATIC ROUTES ARE WORKING
- url: /client/shared
  static_dir: shared
- url: /client.*$
  static_dir: client
- url: /.*$
  redirect_http_response_code: 301
  script: auto

当然,我已经跑了$ npm install jquery。例如,从“服务器端”(我的app.js文件和朋友),以下工作完美:

import $ from "./node_modules/jquery/dist/jquery.js

从我自己的“共享”代码导入也可以从客户端和服务器通过:

import { whatever } from "../shared/<module>.js"

但是当我部署并浏览到时https://<myapp>/client/shared/lib/jquery.js,我收到 404 错误..

目标是从我的“客户端”静态 javascript 文件中获取 jquery:

import $ from "../shared/lib/jquery.js"

(或目录树中更深层模块的等效相对路径。)

Jquery 可能不是最好的例子,如果它打扰你假装我在谈论“pluralize”库。我打算使用 js 库的许多其他 npm 发行版,并在我的“客户端”静态提供的 javascript 文件和从script:路由中导入/指向的“服务器端”代码app.yaml和/或导入之间共享它们app.js

另外,我知道我可以使用“捆绑器” - 或 cdn - 等,我最终可能会投入生产,但根据所有文档,这个 /should/ 工作。一个正确的答案实际上会告诉我如何使这项工作和/或教我我对 中的和处理程序选项不了解的内容,而不是建议与我当前设置有很大编辑距离的替代方案。static_filesuploadapp.yaml

4

0 回答 0