运行多个Typescript' tsc'命令

时间:2016-06-29 15:49:07

标签: typescript npm

我正在尝试构建一个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
  }
}

我想在这里实现的目标是什么?

谢谢!

1 个答案:

答案 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"
  }
}