我正在尝试构建一个NPM命令,该命令将转换我的应用程序中的子目录中包含的两个Typescript项目以及启动我的服务器。
我有一个名为' src'的公共文件夹。其中包含两个文件夹,Server和Client。两者都有tsconfig.json文件,因为它们使用不同的模块系统。
我正在尝试在npm中编写一个命令,它将在启动服务器之前转换这两个Typescript根目录,而不能弄清楚如何这样做。如果可能的话,我认为它与此类似吗?
tsc /src/Server/*.ts && tsc /src/Client/*.ts && node /src/Server/server
这是我的两个tsconfig.json文件:
中的
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"sourceMap": true
},
"exclude": [
"node_modules"
]
}
和/ src / Client
{
"compilerOptions": {
"target": "ES5",
"module": "system",
"moduleResolution": "node",
"sourceMap": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
}
}
我想在这里实现的目标是什么?
谢谢!
答案 0 :(得分:5)
是的!你绝对可以做到这一点。我在这里创建了一个示例repo来演示。
https://github.com/NickolasAcosta/typescript-multiproject
使其有效:
npm install
npm start
它使用来自npm的concurrently包来运行多个任务。
鉴于此项目结构:
root
- src
- project1
- foo.ts
- tsconfig.json
- project2
- bar.ts
- tsconfig.json
在package.json中:
{
"name": "typescript-multiproject",
"description": "compile multiple typescript sites with one npm script",
"private": true,
"scripts": {
"start": "concurrently \"npm run tsc1\" \"npm run tsc2\"",
"tsc2": "tsc -p src/project1",
"tsc1": "tsc -p src/project2"
},
"author": "",
"license": "ISC",
"devDependencies": {
"typescript": "^1.8.10",
"concurrently": "2.1.0"
}
}