假设我有这个目录结构:
public/
js/
lib/
test/
ts/
lib/
ts/
Run Code Online (Sandbox Code Playgroud)
我将如何配置它来编译lib/ts/*.ts,以public/js/lib/*.js和test/ts/*.ts到public/js/*.js?
我已经尝试在每个ts目录中设置一个单独的tsconfig.json outDir,但是只要我添加///<reference一个文件,编译器就会输出一个不需要的目录树(在保存和构建时).
pix*_*ike 20
我最终得到了我想要的布局:
public/
js/
lib/
test/
src/
ts/
lib/
test/
Run Code Online (Sandbox Code Playgroud)
在src/ts/test/tsconfig.json中:
"outDir": "../../../public/js"
Run Code Online (Sandbox Code Playgroud)
在src/ts/lib/tsconfig.json中:
"outDir": "../../../public/js/lib"
Run Code Online (Sandbox Code Playgroud)
在src/ts/test/test.ts中:
/// <reference path="../lib/CoolStuff.ts" />
Run Code Online (Sandbox Code Playgroud)
在Atom中,如果你在src/ts/lib中工作,build会将这些文件编译成public/js/lib.
如果你在src/ts/test中工作,那么构建将在test中编译*.ts 以及引用的所有文件.我没有看到防止引用文件编译的方法,但至少在这种布局下它们会转到相同的位置.
我如何配置它来将lib/ts/.ts编译为public/js/lib / .js并将test/ts/.ts编译为public/js / .js?
如果要编译test并public在单个编译上下文中,那么有效的ts树是:
test/
ts/
lib/
ts/
Run Code Online (Sandbox Code Playgroud)
因此,如果您使用其中一个outDir,./public/js您将获得:
public/
js/
test/
ts/
lib/
ts/
Run Code Online (Sandbox Code Playgroud)
这是因为相对的性质lib/ts,以test/ts需要由被保留outDir.这是您尝试组织项目的方式.
将您的项目重新组织为
ts/
test/
lib/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34219 次 |
| 最近记录: |