gpt4 book ai didi

asp.net-mvc - 如何将 TypeScript 构建为独立于 MVC 项目并依赖于 MVC 项目的项目,并将生成的 JavaScript 复制到 MVC 项目中?

转载 作者:搜寻专家 更新时间:2023-10-30 21:20:42 27 4
gpt4 key购买 nike

构图

我有一个 MVC 项目,其中包含 C# 类,这些类最终通过 ajax 等进行序列化和使用。我使用 TypeLite 生成这些 C# 类的定义( here 讨论了 TypeLite 的替代方案),因此我可以在编译时检查使用这些 json 序列化 C# 类的代码。这样,如果 C# 定义更改而我的 TypeScript 代码没有更改,我将收到编译时错误,因为它直接绑定(bind)到 C# 定义

初始问题

目前我的 TypeScript 存在于与我的 C# 类相同的项目中。所以我有一个非常奇怪的循环依赖问题。为了解决这个问题,我必须遵循一个非常特殊的模式

  1. 更新 C# 类
  2. 编译MVC项目
  3. 运行 TypeLite,生成定义
  4. 更新 TypeScript 或在下次构建时遇到编译错误。

我不喜欢这样,因为我无法在构建过程中自动运行 TypeLite。我不能那样做,因为 TypeLite 需要先构建 MVC 项目中的 C# 程序集才能运行并访问定义。此外,我必须将生成的定义包含在代码存储库中,我不喜欢这样做,因为它生成的代码有人可能会忘记生成它并提交它/ checkin 它。

建议的解决方案

如果我有一个依赖于我的 MVC 项目的 TypeScript 项目,我可以轻松打破这种循环依赖。这样我就可以在构建中包含 TypeLite,方法是将其从 MVC 项目中删除并将其放入 TypeScript 项目中。

我觉得这种方法非常正确,因为 TypeScript 项目是一个单独的编译项目,它依赖于在其自己的项目之前构建的程序集。

实际问题/问题

不幸的是,我不知道如何在我的 MVC 项目之外创建一个 TypeScript 项目,该项目构建然后将生成的 JavaScript 复制回 MVC 项目(用于通过网络部署和/或 azure 网络角色部署进行部署)。 那么,我如何拥有一个独立于我的 MVC 项目的 TypeScript 项目,该项目在 MVC 项目之后构建,然后将生成的 JavaScript 复制回 MVC 项目以进行部署?

最佳答案

So, how would I have a TypeScript project that is separate from my MVC project that builds AFTER the MVC project and then copies the generated JavaScript back into the MVC project for deployment?

您可以使用以下语句将文件夹中的所有 TS/JS 文件包含到.csproj 等中:

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

然后使用类似grunt-ts 的方式在外部管理编译这些:https://github.com/grunt-ts/grunt-ts

额外的优势:您的队友可以使用任何他们喜欢的 TS 编辑器,而不必受限于 VS。也可以帮助您的设计师。

关于asp.net-mvc - 如何将 TypeScript 构建为独立于 MVC 项目并依赖于 MVC 项目的项目,并将生成的 JavaScript 复制到 MVC 项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22970896/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com