我正在使用Visual Studio Code并且具有相当常见的项目结构:
??? client/
? ??? tsconfig.json
??? shared/
??? server/
? ??? tsconfig.json
??? project.json
Run Code Online (Sandbox Code Playgroud)
这两个tsconfig文件具有不同的设置(例如,client/目标ES5 下的设置,server/目标ES6下的设置).
问题是我希望共享目录包含在两个项目中.我不能使用tsconfig这样做,因为该exclude选项不允许我包含一个比tsconfig.json更高的目录中的文件夹,并且使用files我必须不断保持文件列表是最新的,因为它不支持全球.
请注意,我可以通过将共享文件夹添加到tsc中来编译,我想要的是Visual Studio Code IDE识别intellisense的共享代码等.
是等待filesGlob的唯一选择吗?
我正在开发一个像这样结构的项目:
\
|- built
|- src
|- perf
|- tsconfig.json
|- typings
|- tsconfig.json
Run Code Online (Sandbox Code Playgroud)
我tsconfig.json的根源
"target": "es6",
"outDir": "built",
"rootDir": "./src",
Run Code Online (Sandbox Code Playgroud)
我需要在perf文件夹上使用不同的配置,例如不同的目标.
"target": "es5",
Run Code Online (Sandbox Code Playgroud)
但是,我的typings文件夹位于项目的根目录,而不是perf文件夹内.这样做会tsc ./perf导致很多错误.
有没有办法告诉TypeScript在哪里寻找typings?我正在使用
npm install -g typescript@next
// typescript@1.8.0-dev.20151109
Run Code Online (Sandbox Code Playgroud)
或者根据文件夹进行不同配置的方法?
我正在计划一个 monorepo typescript 项目,如下所示:
/ (root)
+--backend/
| +-src/
| \-tsconfig.json
+--shared/
| \-src/
\--frontend/
\-src/
Run Code Online (Sandbox Code Playgroud)
tsconfig.json定义如下:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"outDir": "./dist",
"strict": true,
"baseUrl": "./src",
"paths": {
"shared": [
"../../shared/src"
]
},
"rootDirs": [
"./src",
"../shared/src"
],
"esModuleInterop": true
}
}
Run Code Online (Sandbox Code Playgroud)
tsc当我在它下面执行时backend,如下所示:
/ (root)
+-backend/
+-dist/
| +-backend/
| | +-src/
| \-shared/
| \-src/
+-src/
\-tsconfig.json
Run Code Online (Sandbox Code Playgroud)
在上面,dist包含backend和shared但它们每个都包含src在它下面。我想要backend并shared包含dist …