[英]TypeScript cast (assertion) results in Syntax Error compiler warning?
[英]TypeScript compiler error: Expected ';' or ']'
這是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不會阻止.js
發出/生成。 這是為了使您更輕松地將js代碼遷移到ts。
也就是說,您發布的代碼也可以正常工作:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.