【问题标题】:Referencing TypeScript file includes whole file in output引用 TypeScript 文件在输出中包含整个文件
【发布时间】:2012-11-07 20:16:14
【问题描述】:

我创建了一个安装了 TypeScript 0.8.1 和 Web Essentials 的新 Windows 8 JavaScript Blank 应用。

我已将文件 foo.tsbar.ts 添加到我的项目中。

foo.ts 只包含一个简单的类:

class Foo
{ }

bar.ts 包含对foo.ts 的引用和类栏:

/// <reference path="foo.ts" />

class Bar
{ }

奇怪的是bar.js 同时包含了 Bar 和 Foo 类:

var Foo = (function () {
    function Foo() { }
    return Foo;
})();
var Bar = (function () {
    function Bar() { }
    return Bar;
})();

出了什么问题?我正在使用共享的reference.ts 文件处理一个更大的项目。突然间我所有的 ts 文件都编译成每个 javascript 文件了。

【问题讨论】:

    标签: javascript windows-8 visual-studio-2012 typescript web-essentials


    【解决方案1】:

    通常只有在您向编译器提供 --out 标志时才会发生这种情况:

    tsc --out bar.js foo.ts bar.ts
    

    这是在保存时发生的,还是在构建时发生的?如果它发生在保存时,它与 Web Essentials 有关,而如果它发生在构建时,您应该检查项目文件的源以查看是否有 --out 标志。

    【讨论】:

    • 保存时发生。我已经从命令提示符运行 typescript 编译器,没有 -out 部分,然后一切正常。但是当我在 Visual Studio 中点击保存时,我得到了这种奇怪的行为。我向 Web Essentials 提交了一个错误。
    • 我可以确认 v1.8.5 的 Web Essentials 现在适合我!
    • 奇怪的是,我从 1.8.5 开始就有这个问题
    • visualstudiogallery.msdn.microsoft.com/… 截至目前,1.8.5 是最新版本。你从哪里得到 1.8.8.3?
    【解决方案2】:

    我确实使用 -out 参数来控制编译器的文件放置。我刚刚发布了此位置的修复以进行测试:http://madskristensen.net/custom/webessentials2012.vsix

    请尝试一下并告诉我它是否有效。谢谢!

    【讨论】:

    • 你能确认一下吗?您是否也遇到了同样的问题,并且您发布的修复程序是否可以正常工作?
    • 好多了,至少对我而言
    • 顺便说一句:既然您显然正在查看代码,是否有不需要更新 WebEssentials 的解决方法(这样我们就可以使用当前发布的版本)
    • @AcidPAT 1.8.5 版是当前发布的版本,它可以工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-28
    • 1970-01-01
    • 2013-05-12
    • 2022-12-10
    • 1970-01-01
    相关资源
    最近更新 更多