2

我有一个打字稿项目工作正常。我创建了第二个项目并通过文件系统复制了一些我以前的代码。一切正常,除了我的 .js 现在与我的 .ts 不同步。我现在如何解决这个问题:通过拖动 ts 文件(将自动携带 .js)删除这两个文件并使用 Visual Studio 界面再次复制 无论如何,我很好奇,现在我想知道,.ts 怎么样和.js 互相认识?在 ASP.NET 中,您有代码背后的概念。但在这里我看不到这是如何完成的。Visual Studio 是否将关系保存在隐藏文件中?

4

1 回答 1

5

在第 75 页(第 9.1 章)的打字稿语言规范中:

默认情况下,编译中的每个实现源文件都会生成一个 JavaScript 输出文件,但不会从声明源文件生成输出。

除了名称之外,ts 和 js 文件之间没有真正的关联。一个 ts 文件被编译成一个 js 文件,并在运行时加载 js 文件。请注意,js 文件的实际命名与模块名称无关,您自己负责相应地加载脚本(例如,<script>在您的 html 页面中使用)。

在您的情况下,只需复制并添加对 ts 文件的引用就可以了。添加引用后,请务必将 Build Action 更改为“TypeScriptCompile”以确保将其传递给 typescript 编译器:在解决方案资源管理器中选择文件,按 F4 调出属性窗口并更改 Build Action。

更新:要使文件“嵌套”,如评论中所述,您可以卸载项目并将子元素添加到 js 元素,例如转换

<Content Include="some.js" />
<TypeScriptCompile Include="some.ts" />

<Content Include="some.js">
    <DependentUpon>some.ts</DependentUpon>
</Content>
<TypeScriptCompile Include="some.ts" />
于 2012-10-25T05:59:34.037 回答