我有一个库,它有一个子项目,利用该库快速开发并启动服务器。 项目结构如下:
--Library root
|-src/
|-example/
|-server/
|-src/
|-tsconfig.json
|-package.json
|-tsconfig.json
|-package.json
这个想法是我可以在示例目录中运行服务器,并利用来自父库项目的相同代码。因此,当库代码更改时,服务器将重新启动以反映这些更改。为此,我正在使用TypeScript项目引用:https://www.typescriptlang.org/docs/handbook/project-references.html。
我在我的服务器的
example/server/package.json
中有这个信息。"scripts": {
"serve": "nodemon ./src/server.ts",
},
example/server/nodemon.json
会监视来自父级项目目录的ts文件更改并执行ts-node。
{
"watch": "../../**/*.ts",
"execMap": {
"ts": "ts-node"
}
}
因此,最终会运行ts-node ./src/server.ts
。 这是有效的,但在进行更改时它不会构建父库。 经过调查,发现我必须传递--build
给tsc
以便构建依赖项。 但我不知道如何将该选项传递给ts-node
,或者是否可能。