我正在尝试构建一个NPM命令,它将转换我的应用程序中的子目录中包含的两个Typescript项目以及启动我的服务器.
我有一个名为'src'的公用文件夹,其中包含两个文件夹:Server和Client.两者都有tsconfig.json文件,因为它们使用不同的模块系统.
我试图在npm中编写一个命令,它将在启动服务器之前转换这两个Typescript根目录,无法弄清楚如何这样做.如果可能的话,我认为它与此类似吗?
tsc /src/Server/*.ts && tsc /src/Client/*.ts && node /src/Server/server
Run Code Online (Sandbox Code Playgroud)
这是我的两个tsconfig.json文件:
在/ src/Server中
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"sourceMap": true
},
"exclude": [
"node_modules"
]
}
Run Code Online (Sandbox Code Playgroud)
并在/ src/Client中
{
"compilerOptions": {
"target": "ES5",
"module": "system",
"moduleResolution": "node",
"sourceMap": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
}
}
Run Code Online (Sandbox Code Playgroud)
我想在这里实现的目标是什么?
谢谢!
是! 你绝对可以做到这一点.我在这里创建了一个示例repo来演示.
https://github.com/NickolasAcosta/typescript-multiproject
为了使它工作:
npm install
npm start
Run Code Online (Sandbox Code Playgroud)
它使用来自npm 的并发包来运行多个任务.
鉴于此项目结构:
root
- src
- project1
- foo.ts
- tsconfig.json
- project2
- bar.ts
- tsconfig.json
Run Code Online (Sandbox Code Playgroud)
在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"
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
638 次 |
最近记录: |