Google App Engile, Node JS, не работает, обслуживая статические файлы JavaScript - PullRequest
0 голосов
/ 01 ноября 2019

Когда я помещаю в адресную строку css, изображения работают, но мои файлы javascript не работают.

Например:

https://(. ..). Appspot.com/build/teste.css (работа) https://(. ..). appspot.com/build/teste.js (ошибка 404 - запрошенный URL /build/mycomponent.js не найден на этом сервере.)

Мой app.yaml:


runtime: nodejs10


handlers:
- url: /images
  static_dir: static/images
  expiration: '10s'

- url: /css
  static_dir: static/css
  expiration: '10s'

- url: /build
  static_dir: static/build
  expiration: '10s'

- url: /assets
  static_dir: static/assets
  expiration: '10s'

- url: /static
  static_dir: static/.*
  expiration: '10s'

- url: /.*
  secure: always
  redirect_http_response_code: 301
  script: auto

Моя папка структуры:

/static
   /css 
      / *.css(work)
   /images 
      / *.png|jpg (work)
   /assets
      / *.js (not work - 404 in log view)
   /build
      / test.css (work)
      / test.js (not work - 404 in log view) 

Мой файл index.ts:



import * as express from "express";
import * as fs from "fs";
import * as ejs from "ejs";


const VERSION : string = "1.0.6"; 
const PORT = Number(process.env.PORT) || 8080;
const app = express();



app.use(express.static('static'));
app.set("view engine", "html");
app.engine("html", ejs.renderFile);
app.set("views", __dirname + "/views");


app.use(function(req,res){
    res.render("index");
});



app.listen(PORT, () => {
    console.log(`Server version ${VERSION}`);
    console.log(`App listening on port ${PORT}`);
});

PS: у satic_files те же проблемы. Я попробовал:


- url: /build/(.+)
  static_files: static/build/\1
  upload: static/build/(.*)

- url: /build/.*
  static_dir: static/build

1 Ответ

0 голосов
/ 06 ноября 2019

Вы пробовали запрос без / build? просто https://(. ..). appspot.com/teste.js

Я выполнил пример, у меня следующая структура:

-app.yaml -static/ ----example.js

Я установил следующие обработчики в файле yaml:

- url: /(.*\.js) mime_type: text/javascript static_files: static/\1 upload: static/(.*\.js)

Когда я получаю доступ к ресурсам js, я делаю: https://(. ..). Appspot.com / example.js и это работает. Если я попытаюсь использовать /static/example.js, это не сработает.

Я попытался использовать структуру, аналогичную вашей:

-app.yaml -static/ ----assets/ --------example.js

С этими обработчиками:

handlers: - url: /static static_dir: static/.* expiration: '10s' - url: /(.*\.js) mime_type: text/javascript static_files: static/assets/\1 upload: static/(.*\.js)

Пробовал: https://(. ..). Appspot.com/example.js> Пробовал работ: https://(. ..).appspot.com / assets / example.js > Не работает

Я подписался на этот github

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...