我昨天升级到了Typescript 2.0.3,并将参考路径更新为
/// <reference types="angular" />
使用以下命令安装Angular 1.5x的打字后
npm install -s @types/angular
我在构建项目时遇到错误,错误不会消失。
无效的'reference'指令语法
如何解决这个问题?
/// <reference types="angular" />
/// <reference types="d3" />
(function () {
'use strict';
var app = angular.module('charts', []);
app.controller('mainCtrl', function mainCtrl($scope, appService) {
var vm = this;
vm.data1 = [1, 2, 3, 4];
vm.data2 = [4, 5, 7, 11];
vm.update = function (d, i) {
vm.data1 = appService.GetRandomData();
console.log('new data1', vm.data1);
};
vm.update2 = function (d, i) {
vm.data2 = appService.GetRandomData();
console.log('new data2', vm.data2);
};
});
app.directive('barChart', function ($timeout) {
var chart = d3.custom.barChart();
return {
restrict: 'E',
replace: true,
scope: true,
bindToController: {
data: '=',
},
controller: 'mainCtrl',
controllerAs: 'ctrl',
link: function (scope, element, attrs, ctrl) {
var chartEl = d3.select(element[0]);
chartEl.datum(ctrl.data).call(chart)
}
}
});
app.directive('chartForm', function () {
return {
restrict: 'E',
replace: true,
controller: 'mainCtrl',
templateUrl: 'chartform.html'
}
});
app.service('appService', function () {
this.GetRandomData = function () {
var rdata;
rdata = d3.range(~~(Math.random() * 50) + 1).map(function (d, i) {
return ~~(Math.random() * 100);
});
return rdata;
}
});
} ());
答案 0 :(得分:2)
我已更新工作区设置文件.vscode/settings.json
中的typescript路径,以指向最新的打字稿版本。这将使VS Code使用最新版本的打字稿。
{
"typescript.tsdk": "C:\\Users\\UserName\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib"
}
我并不认为这是问题,因为当我在集成终端中运行tsc -v
时,我得到2.0.3
。
现在我正在修复编译器错误。
有用的链接:
答案 1 :(得分:0)
对于在那里的Mac用户,如果您全局安装TypeScript,则路径如下所示:
"typescript.tsdk": "/Users/me_me_me/.nvm/versions/node/VERSIION/bin/tsc"
答案 2 :(得分:0)
我在构建服务器VSTS中遇到此错误。
升级类型脚本版本解决了我的问题。
在包装中,json:从
更改"typescript": "2.8.3"
到
"typescript": "3.5.1"