Приложение, развернутое в Gcloud, не может записывать JS файлов при компиляции TS? - PullRequest
0 голосов
/ 08 мая 2020

Я добавил код TS в существующее приложение nodejs.

В первый раз, когда я вытащил проект из GitHub в gcloud, все работало нормально.

На этот раз я внес некоторые изменения, добавил еще несколько файлов TS, и теперь приложение не запускается после развертывания.

Error: Server Error
The server encountered an error and could not complete your request.
Please try again in 30 seconds.

Журналы показывают множество сбоев при записи JS версий моих файлов TS.

{
 insertId: "5eb4e6c8000b9ff215033be3"  
 labels: {…}  
 logName: "projects/ncatsidg-dev/logs/stdout"  
 receiveTimestamp: "2020-05-08T04:57:44.821184556Z"  
 resource: {…}  
 textPayload: "error TS5033: Could not write file '/srv/src/models/DataModelList.js': EROFS: read-only file system, open '/srv/src/models/DataModelList.js'."  
 timestamp: "2020-05-08T04:57:44.761842Z"  
}

Я понимаю, что развертывание gcloud доступно только для чтения, но оно должен уметь компилировать TS и развертывать. У меня есть этап компиляции в моем пакете. json, который должен скомпилировать TS в JS для gcloud ( так говорит этот inte rnet page ), но, увы, что-то не работает ie!

  "scripts": {
    "test": "node src/index.js & jest",
    "start": "tsc && nodemon src/index.js",
    "start:ci": "tsc && node src/index.js",
    "gcp-build": "tsc -p ."
  },

1 Ответ

1 голос
/ 08 мая 2020

Спасибо за ответы.

Оказывается, развертывание приложения gcloud достаточно умен, чтобы скомпилировать TS и развернуть JS.

Но я перехитрил , когда я изменил мою команду запуска на

"start": "tsc && nodemon src/index.js"

Итак, он пытался перекомпилировать файлы JS снова, когда приложение было запущено, но это уже было сделано, так что в этом не было необходимости.

Когда я удалил ts c в этой команде запуска, все заработало, как и предполагалось.

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