【问题标题】:Include TypeScript files in azure git deploy在 azure git deploy 中包含 TypeScript 文件
【发布时间】:2013-05-12 04:18:07
【问题描述】:

我正在尝试在我的自动 git 部署中包含 TypeScript 文件,以便展示我正在构建的框架的代码。但是,每当我部署到 azurewebsites 时,部署都不包含 TypeScript 文件。

相关网站:http://endgate-samples.azurewebsites.net/Samples/AnimatedSprites/

我的尝试:

  1. 通过将 TypeScript 属性设置为“始终复制”,将所有 TypeScript 文件复制到输出文件夹。问题是我需要更改对所有文件的引用(不想这样做)。

  2. MSBuild 管道。这适用于文件系统部署,但不适用于 Web 部署...https://github.com/NTaylorMullen/EndGate/blob/master/EndGate/samples/EndGate.Core.JS.Samples/EndGate.Core.JS.Samples.csproj#L896-L909

  3. 手动发布到 FTP 端点(就像一个魅力一样),但不是自动的。还需要 msbuild 管道 (#2)

我做错了什么或者我可以做什么(我没有尝试过)来让我的 TypeScript 文件自动部署?

【问题讨论】:

  • 真的很喜欢文件行的#链接。不知道你能做到这一点。手动修改url?
  • 不,只需单击起始行,按住 shift 然后单击结束行
  • 温馨提示。谢谢老兄。
  • 现在可以使用吗 - github.com/projectkudu/kudu/issues/556
  • 遗憾的是,这将构建 typescript 文件并收集输出的 JS 文件以进行部署,但它不会包含原始的 .ts 文件。我已经部署了我生成的 JS,但 TS 文件被完全忽略了,即使我做了所有额外的工作。

标签: azure typescript azure-web-app-service azure-deployment azure-git-deployment


【解决方案1】:

所以经过大量工作后,事实证明,使用 msbuild 管道部分 (#2),它实际上会部署 typescript 文件。我缺少的一件事是添加适当的 mime 类型来处理 typescript 文件。

事实证明,默认情况下 IIS 无法正确提供 TypeScript 文件。

要添加我所做的自定义 mime 类型:

<system.webServer>
    <staticContent>
      <remove fileExtension=".ts"/>
      <mimeMap fileExtension=".ts" mimeType="text/plain" />
    </staticContent>
</system.webServer>

在添加 mime 类型之前,我们删除现有的 .ts mime 类型(如果有的话)很重要。如果您部署到已经具有 .ts mime 类型的机器上并且在添加之前没有删除,它几乎会破坏您现有的映射并且将无法提供任何 css、js 文件等。

这是一场战斗,但我终于成功了,希望这对未来的其他人有所帮助!

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-03-31
  • 1970-01-01
  • 2020-10-01
  • 2019-01-01
  • 2017-07-28
  • 1970-01-01
  • 2012-11-07
  • 2013-01-07
相关资源
最近更新 更多