Мы разрабатываем приложение 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 () после изменения библиотеки, следующий экземпляр функции будет иметь обновленный код от библиотека ...
Как мы можем сделать пересборку, чтобы использовать наши изменения в библиотеке без необходимости перезапуска или уничтожения процесса моей функции?