Node.js 12 est désormais accessible à tous.

Exécuter une étape de compilation personnalisée

Au moment du déploiement, avant de démarrer votre application, vous pouvez effectuer une étape de compilation personnalisée en ajoutant un script gcp-build dans votre fichier package.json.

Lorsque ce script est exécuté, les dépendances des champs dependencies et devDependencies du fichier package.json sont disponibles. Une fois que vous avez exécuté l'étape de compilation personnalisée, App Engine supprime et génère à nouveau le dossier node_modules en n'installant que les dépendances de l'environnement de production déclarées dans le champ dependencies du fichier package.json.

Exemple

Un script de compilation personnalisé peut être employé pour des tâches de prétraitement, telles que le prétraitement des fichiers CSS, la minimisation des fichiers JavaScript côté client, ou l'exécution d'outils tels que webpack ou gulp.

Par exemple, si vous souhaitez compiler TypeScript en JavaScript, le fichier package.json peut ressembler à ce qui suit. Notez la présence du script gcp-build :

{
  "name": "appengine-typescript",
  "description": "An example TypeScript app running on Google App Engine.",
  "version": "0.0.1",
  "private": true,
  "license": "Apache Version 2.0",
  "author": "Google Inc.",
  "engines": {
    "node": "12.x.x"
  },
  "scripts": {
    "prepare": "npm run gcp-build",
    "pretest": "npm run gcp-build",
    "test": "mocha test/*.test.js --exit",
    "posttest": "npm run lint",
    "lint": "tslint -p .",
    "start": "node ./index.js",
    "gcp-build": "tsc -p .",
    "deploy": "gcloud app deploy"
  },
  "dependencies": {
    "express": "^4.16.3",
    "typescript": "^4.0.0"
  },
  "devDependencies": {
    "@types/node": "^14.14.7",
    "mocha": "^8.0.0",
    "wait-port": "^0.2.7",
    "@types/express": "^4.16.0",
    "chai": "^4.2.0",
    "tslint": "^6.0.0",
    "typescript": "^4.0.0"
  }
}