我安装了最新版本的TypeScript以及最新版本的Web Essentials。我在VS2012中创建了一个新的TypeScript项目。
如果有utils.ts
:
moduls utils
{
export function getNumber() {
return 4;
}
}
和app.ts
:
/// <reference path="utils.ts" />
alert(utils.getNumber().toString());
JavaScript文件都是单独编译的。但要让app.js
正常工作,utils.ts
的已编译源代码显然已包含在内。
在我的控制台中运行tsc app.ts -out app.js
时它确实有效,但我不想每次都手动运行它。
为什么Web Essentials不能为我做这件事?
答案 0 :(得分:3)
我安装了Web Essentials,因为我喜欢并排编辑,但我使用项目文件中的TypeScript编译器来编译单个输出。
详细信息如下:http://www.stevefenton.co.uk/Content/Blog/Date/201301/Blog/Getting-The-Right-Set-Up-For-TypeScript/
但是项目文件的代码块是:
<Target Name="BeforeBuild">
<Exec Command=""$(PROGRAMFILES)\Microsoft SDKs\TypeScript\$(TypeScriptVersion)\tsc" --out final.js @(TypeScriptCompile ->'"%(fullpath)"', ' ')" />
</Target>
您可能会发现这已经存在于您的项目文件中,您只需要添加--out标志。
答案 1 :(得分:0)
我正在使用VS2012 express for Web / TypeScript0.9.0.1,上面的方法不起作用。如果其他人对该设置有这个问题,我确实得到了类似的解决方法
- &gt;构建事件 - &gt;我添加了预构建事件命令行:"C:\Program Files (x86)\Microsoft SDKs\TypeScript\tsc.exe" --target ES5 $(ProjectDir)app.ts -out $(ProjectDir)Final.js
修改了default.htm以加载Final.js
而不是app.js