我找到了一个可能的答案来解决我的问题: Is any JavaScript code a valid TypeScript code?。TypeScript文件中的JavaScript代码.ts不起作用
我正在使用Visual Studio和TypeScript插件处理Web项目。在下面的帖子中,我发现了这个答案:
Not any valid JavaScript code is valid TypeScript see my example below.
var testVar = 4; testVar = "asdf";
TypeScript gives the following error: Cannot convert string to number. To make that work in TypeScript add ":any" like below.
var testVar: any = 4; testVar = "asdf"
This happens because TypeScript noticed testVar is declared and in the declaration it is assigned a number and therefore it decides it should stay a number.
我想使用HighCharts。如果我将这些代码保存在Javascript文件中,我不会收到任何错误。但是,当我保存打字稿文件中的代码,我有一个错误:
"Cannot find name "HighCharts".
在这里你可以看到我的代码的相关部分:
// Put definitions of highcharts, highstocks below this line
// Example 1 Chart
var initializeChart1 = function() {
require(['jquery', 'highcharts', 'highchartsMore', 'highchartsExporting'], function ($) {
$("#myChart").highcharts({
chart: {
type: 'spline',
backgroundColor: '#ECECEC',
// ------THIS GIVES AN ERROR, BUT WORKING WHEN SAVED AS .JS file
animation: Highcharts.svg, // don't animate in old IE
// -------------------------
...
为什么我要保持我的JavaScript代码的原因TS文件内部很简单:我目前正在学习TypeScript,并且在同一个文件中保留JavaScript和TypeScript版本或相同的代码。根据TypeScript是否完整/正在工作,我取消注释并评论JavaScript。
我的问题是:
- 为什么我得到这个错误?
- 是否可以在TS文件中使用任何JavaScript代码 ?
您是否添加了对d.ts文件的引用? https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/highcharts-ng和https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/highcharts/highcharts.d.ts – Jerome2606
我通过添加在require(['jquery','highcharts','highchartsMore','highchartsExporting'),函数($,Highcharts){}中的“Highcharts”引用。但我仍然困惑为什么这个代码在保存时没有这个引用就可以工作。 js文件但保存为.ts文件时无法正常工作... – Marek
引用仅仅是为了帮助您以强有力的方式编写代码,并且需要打印脚本来指出可能出现的运行时错误。是为了让IDE在键入代码时提供更丰富的环境来查找常见错误。检查此答案以获得打印机的简单好点子http://stackoverflow.com/questions/12694530/what-is-typescript-and-为什么我会使用它在位的javascript – Jerome2606