【问题标题】:Visual Studio Online isn't deploying .js files from TypeScript compilation to AzureVisual Studio Online 未将 .js 文件从 TypeScript 编译部署到 Azure
【发布时间】:2013-12-30 06:11:51
【问题描述】:

背景

我刚刚设置了支持最新 TypeScript 的 VS2013。从示例“Greeter”应用程序开始,我构建了一个简单的单页应用程序。 TypeScript 在保存时都很好地呈现为 .js。当我按 F5 时,它会按预期构建和运行。

Git

我已使用内置的 Git 支持同步到 Visual Studio Online 上的新项目。到目前为止一切顺利。

使用 Git 将 Visual Studio Online 链接到 Azure

接下来,我在我的 Windows Azure 帐户中建立了一个新的(免费)Azure 网站,并将其配置为从 Git 发布到 Visual Studio Online。它使用名为 GitContinuousDeploymentTemplate.12.xaml 的模板创建了一个构建定义。这需要一些摆弄来配置“Windows Azure 部署环境”设置,特别是“Webspace”,结果证明对我来说是“northeuropewebspace”。但是,在我第三次尝试时,托管构建成功并部署到了我的 Windows Azure 网站。

问题

部署的站点没有从 TypeScript 编译的 .js 文件。

我可以从构建日志中看到调用了 TypeScript 编译器:

CompileTypeScript:
  C:\Program Files (x86)\Microsoft SDKs\TypeScript\tsc.exe  --module AMD --sourcemap --target ES5 "CrankView.ts" "CrankViewModel.ts" "Point.ts" "scripts\DefinitelyTyped\jquery\jquery.d.ts" "StirlingApp.ts" "StirlingModel.ts" "WorldView.ts"

我收到了没有 .cs 文件的警告,这是真的:

CSC : warning CS2008: No source files specified [C:\a\src\Stirling\Stirling.csproj]

但是,可能之前创建的任何 .js 文件都不会出现在任何后续构建步骤中,它们也不会出现在部署网站上。

问题

我需要做什么才能部署“已编译”的 .js 文件?

【问题讨论】:

    标签: git continuous-integration typescript azure-web-app-service azure-devops


    【解决方案1】:

    您需要将生成的 .js 文件包含到您的 Visual Studio 项目中才能进行部署。

    更新 您可以使用以下配置将文件夹中的所有 js/ts 文件添加到 Visual Studio 中,但如果这样做,您需要注意不要“添加新文件”然后在 .csproj 中提交更改,因为Visual Studio 倾向于覆盖它并手动重新包含每个文件:

    <Content Include="Client\src\**\*.*">
    </Content>
    

    【讨论】:

    • 是的 - 你是对的。谢谢你。我尝试进行常规网络部署并得到相同的结果。由于 .js 文件是构建输出的,我认为这是错误的,但 TypeScript 仍然很新,也许这只是我看待它的方式是错误的。
    • 你不需要在你的 repo 中有 js 文件。但是,如果有意义的话,您应该将它们包含在项目中。
    • 将它们添加到项目中的最佳方法是什么?有什么比右键单击每个已编译的 .js 文件并将其添加到项目中更好的方法吗?
    猜你喜欢
    • 2015-04-24
    • 2015-10-27
    • 2016-09-12
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    • 2014-02-08
    • 2015-12-22
    • 2023-03-05
    相关资源
    最近更新 更多