【发布时间】:2015-05-19 01:09:19
【问题描述】:
这是 VS 2013 中的一个节点项目,安装了 TypeScript 工具和 Web Essential(但没有 Resharper)。我正在将我的 javascript 转换为打字稿,而且似乎进展顺利。但是,我在错误列表中遇到了很多错误,例如
Error 1 Expected ';' C:\Azure\public\js\prototypes.ts 6 11
Error 2 Expected ',' or ']' C:\Azure\public\js\prototypes.ts 7 13
Error 3 Expected ';' C:\Azure\public\js\prototypes.ts 7 22
Error 4 Expected ',' C:\Azure\public\js\prototypes.ts 13 30
Error 5 Expected '{' C:\Azure\public\js\prototypes.ts 13 40
Error 6 Expected ';' C:\Azure\public\js\prototypes.ts 13 49
这是prototypes.js的前几行:
/// <reference path="../../typings/moment/moment.d.ts" />
'use strict';
//-------------------------------------------------
// Math
//-------------------------------------------------
interface Math {
lg(value: number): number;
roundUp(value: number, digits: number): number;
roundDown(value: number, digits: number): number;
}
if (!Math.lg) {
Math.lg = function (value: number) : number {
return Math.log(value) / Math.LN10;
};
}
if (!Math.roundUp) {
Math.roundUp = function (value, digits) {
var factor = Math.pow(10, Math.floor(Math.lg(Math.abs(value))) - digits || 0);
return Math.ceil(value / factor) * factor;
};
}
if (!Math.roundDown) {
Math.roundDown = function (value, digits) {
var factor = Math.pow(10, Math.floor(Math.lg(Math.abs(value))) - digits || 1);
return Math.floor(value / factor) * factor;
};
}
奇怪的是,即使错误列表中有这些错误,构建成功并且应用程序似乎运行良好。我也试过卸载 WebEssential 和 TypeScript 工具,然后重新安装,但没有区别。
它在抱怨什么?
更新:
当我看到 1.5Beta 时,我立即安装了它。令我失望的是,我得到了更多的错误。然后,我决定回滚到 1.4。但更糟糕的是......现在当我打开同一个项目时它会抱怨
您的项目文件使用不同版本的 TypeScript 编译器和工具比当前安装在这台机器上。不 编译器位于 C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4\1.4\tsc.exe。您也许可以解决此问题 通过更改项目中的
<TypeScriptToolsVersion>元素 文件。
我不知道为什么路径现在多了一个 \1.4。另外,我在项目文件中找不到<TypeScriptToolsVersion> 元素。我到处搜索(包括注册表),但找不到像 \1.4\1.4 这样的路径的任何地方。现在它正在成为我的 TypeScript 噩梦。
【问题讨论】:
-
确保您安装了最新版本的 TypeScript for Visual Studio,已经有 1.5beta。但你至少需要version 1.4
标签: visual-studio typescript web-essentials