ts c --watch перестраивает проект, но не включает изменения в node_modules - PullRequest
1 голос
/ 03 апреля 2020

Мы разрабатываем приложение Typescript express и библиотеку. Мы работаем локально на функции пожарной базы. Мы вручную связываем выходные данные библиотеки с node_modules приложения.

Запуск приложения : tsc --watch & firebase serve --only functions

Компиляция библиотеки : tsc --watch


Если мы что-то изменим в приложении :

  • приложение перестроено,
  • изменения появляются во время выполнения

Если мы что-то изменим в библиотеке :

  • библиотека перестроение запущено
  • обновляется ссылка app node_modules
  • app перестраивается как ожидалось
  • изменения не не отображаются во время выполнения ..
  • уничтожить процесс приложения
  • перезапустить приложение
  • изменения появляются во время выполнения

пакета приложения. json

{
  "name": "app-backend",
  "version": "1.1.0",
  "description": "Backend hello world"
  },
  "license": "Apache-2.0",
  "author": "TacB0sS",
  "main": "./dist/index.js",
  "types": "dist/index.d.ts",
  "scripts": {
    "build": "tsc",
    "launch": "tsc --watch & firebase serve --only functions",
    "lint": "tslint --project tsconfig.json"
  },
  "dependencies": {
    "@app/app-shared": "0.0.1",
    "body-parser": "^1.18.3",
    "compression": "^1.7.4",
    "express": "^4.16.3",
    "firebase": "^7.2.3",
    "firebase-admin": "8.9.0",
    "firebase-functions": "^3.3.0",
    "module-alias": "^2.2.0",
    "moment": "^2.24.0",
    "request": "^2.88.0",
    "use-strict": "^1.0.1"
  },
  "devDependencies": {
    "@types/body-parser": "^1.17.0",
    "@types/express": "^4.16.1",
    "@types/request": "^2.48.3",
    "@types/saml2-js": "^1.6.8",
    "typescript": "^3.8.3"
  },
  "engines": {
    "node": "10"
  },
  "_moduleAliases": {
    "@consts": "dist/consts",
    "@modules": "dist/modules"
  }
}

library: package. json

{
  "name": "@app/app-shared",
  "version": "0.0.1",
  "description": "app-shared",
  "license": "Apache-2.0",
  "author": "TacB0sS",
  "main": "index.js",
  "types": "index.d.ts",
  "files": [
    "**/*"
  ],
  "scripts": {
    "build": "tsc --watch",
    "lint": "tslint --project tsconfig.json"
  },
  "devDependencies": {
    "typescript": "^3.8.3"
  }
}

Итак, еще одна вещь, которую я узнал, заключается в том, что если я вызову process.exit () после изменения библиотеки, следующий экземпляр функции будет иметь обновленный код от библиотека ...

Как мы можем сделать пересборку, чтобы использовать наши изменения в библиотеке без необходимости перезапуска или уничтожения процесса моей функции?

...