【问题标题】:TypeScript VS 2012 plugin is not generating JavaScript for this specific codeTypeScript VS 2012 插件不会为此特定代码生成 JavaScript
【发布时间】:2012-11-15 23:22:36
【问题描述】:

我正在编辑器中编写这段代码

 ///<reference path='../node/express3.d.ts' />
 ///<reference path='../node/node.d.ts' />
import http = module('http');
var reqRecieved = function (req, res): void {
    res.end();
};
var server = http.createServer(reqRecieved);
server.listen("1337");
console.log("server started");

问题是 TypeScript vs2012 插件没有生成相同的 JavaScript 代码。但如果我换行:

import http = module('http');

到线

var http = require('http');

然后它就可以正常生成了。

我在这里做错了什么?

【问题讨论】:

  • 您使用的是 WebEssentials,还是只是普通的 VS2012 插件?
  • 你知道 TS 和 WE 的哪个版本吗? TS 0.8.1 + WE 构建 1.8.* 和模块生成存在一些问题。我现在正在使用 TS 0.8.1 + WE 1.9 (visualstudiogallery.msdn.microsoft.com/…) 和 import http = module('path-to-module'); 对我来说很好,但要注意此处指出的路径奇怪:stackoverflow.com/q/13574843/1014822
  • 我从同一个链接下载了它,但它似乎有一个更新的版本,我有 0.8.1。 WE是什么?
  • TS = 打字稿。 WE = WebEssentials。我会升级到最新版本的 WebEssentials(撰写本文时为 1.9.1),看看是否有帮助。
  • 当出现故障时,建议使用所有错误消息来补充这一事实。

标签: node.js plugins visual-studio-2012 typescript web-essentials


【解决方案1】:

如果您没有通过 Visual Studio 获得解释,有时可以帮助您点击命令行并查看正在发生的情况:

tsc --debug c:\path\to\yourfile.ts

这可能会给你更详细的错误。

【讨论】:

    【解决方案2】:

    我会检查您是否安装了最新版本的 WebEssentials 2012,因为在构建 1.8 中未生成模块导入代码存在一些问题。*

    此外,TS 中有一个奇怪的地方,模块内的导入不会生成代码:

    export module test {
        import myMod = module("MyMod"); // Generates no JS output
        var class = myMod.someClass;
    }
    

    但是:

    import myMod = module("MyMod"); // Outside the module. Generates JS as expected.
    
    export module test {
         var class = myMod.someClass;
    }
    

    【讨论】:

      猜你喜欢
      • 2021-12-19
      • 1970-01-01
      • 2012-10-30
      • 2019-12-21
      • 2014-08-13
      • 2018-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多