使用Visual Studio使用TypeScript构建HTA(或单页本地HTML文件应用程序)

Zev*_*itz 2 hta typescript visual-studio-2013

我有一个相当大的HTA,我仍然需要维护.我最初使用Notepad ++编写它,但由于它的增长,我现在对TypeScript提供的Intellisense功能感兴趣.使用Visual Studio的HTML和CSS开发工具也很有帮助.

我知道我必须在应用程序中添加类型注释,但它仍然值得我这么做,并且可以逐步完成.

使用文件 - >新建项目 - >带有TypeScript的HTML应用程序输出DLL以用于IIS Express或其他Web服务器.我需要的输出是编译为Javascript的HTML,CSS和TypeScript,其中引用在HTML中调整.

简而言之,我需要以下内容:

  1. 输出HTML/CSS文件而不是DLL(扩展名应该重命名为.hta,但我可以在后期构建步骤中执行此操作.
  2. 将TypeScript文件输出为Javascript
  3. 包含在项目中的所有TypeScript/Javascript文件的Intellisense
  4. (可选)允许通过Nuget添加Javascript/TypeScript库(我可以手动添加它们,但我不愿意).
  5. (可选)Visual Studio调试(使用debuggerJavascript中的关键字允许我在使用mshta.exe可执行文件启动HTA时启动与Visual Studio的调试会话.但是,在编辑器窗口中设置断点而不修改代码会很好.)

如何在此方案中使用Visual Studio(2013 Professional)?

NB.我在使用Visual Studio进行桌面应用程序(C#/ VB.NET和WPF)方面拥有丰富的经验,但我没有Web开发经验.我对HTA环境中的HTML,CSS和Javascript非常了解.


更新

我尝试创建一个新的网站(文件 - >新网站...),但我无法将TypeScript文件添加到网站.

Zev*_*itz 6

我创建了一个新的"带有TypeScript的HTML应用程序"项目.这给了我1-4分.

我在解决方案中将"index.html"重命名为"index.hta" - 无需在后期构建中执行此操作.Visual Studio将.hta扩展名识别为HTML文件.

我将构建属性设置mshta.exe为作为外部程序打开,并将HTA的完整路径作为命令行参数.我无法将当前的Visual Studio窗口附加到HTA进程(因此没有断点),但该debugger语句打开了一个JIT调试对话框,并提示打开一个具有完整调试功能的新Visual Studio会话.

一个意想不到的好处是我可以调试TypeScript文件,我不仅限于调试生成的Javascript.

更新

目前,我更喜欢使用Visual Studio Code进行HTA开发; 在我回答此问题时,VS Code无法使用.对于此任务,Visual Studio不提供VS代码的优势.