目前我正在使用Ionic 2.0.0-beta.37。其中使用的是typescript 1.8.x.我尝试使用打字稿来尝试D3版本4,但d3-v4-definitelytyped的打字使用的是Typescript 2.x.我在打字上遇到编译错误,在d3-v4-definitelytyped repo上发出问题之后,我了解到我需要在Ionic 2项目中使用TS 2.x.
这是我得到的错误:
TypeScript error: /Users/arash1/Projects/brite-front-end/node_modules/@types/d3-axis/index.d.ts(150,30): Error TS1110: Type expected.
TypeScript error: /Users/arash1/Projects/brite-front-end/node_modules/@types/d3-axis/index.d.ts(167,24): Error TS1110: Type expected.
TypeScript error: /Users/arash1/Projects/brite-front-end/node_modules/@types/d3-axis/index.d.ts(173,55): Error TS1110: Type expected.
TypeScript error: /Users/arash1/Projects/brite-front-end/node_modules/@types/d3-axis/index.d.ts(191,24): Error TS1110: Type expected.
TypeScript error: /Users/arash1/Projects/brite-front-end/node_modules/@types/d3-brush/index.d.ts(30,37): Error TS1110: Type expected.
TypeScript error: /Users/arash1/Projects/brite-front-end/node_modules/@types/d3-chord/index.d.ts(38,56): Error TS1110: Type expected.
TypeScript error: /Users/arash1/Projects/brite-front-end/node_modules/@types/d3-chord/index.d.ts(39,25): Error TS1110: Type expected.
TypeScript error: /Users/arash1/Projects/brite-front-end/node_modules/@types/d3-chord/index.d.ts(41,59): Error TS1110: Type expected.
我查看了我的主IONIC目录中的package.json
文件,但我没有看到typescript
作为依赖项,因此我认为它正在使用其他内容来定义版本。我明白了:
所以我进入tslint-ionic-rules
并看到:
"devDependencies": {
"typescript": "^1.8.10"
}
我只是试图npm install typescript@rc
在tslint-ionic-rules
node_modules
中安装新版本,看看是否收到同样的错误。错误仍然存在。
有人可以就如何提供指导吗?最近在MFST Blog宣布了RC。
答案 0 :(得分:0)
在我开始之前,我还没有完全解决问题,但我至少可以解释一下我的尝试。 确切地说,我没有在我的gulp.file中使用lint,但我确实注意到ionic2使用了browserify,当你查看ionic-gulp-browserify-typescript模块时,你可以看到:
tsifyOptions:{}
您可以使用它来设置您要使用的TS版本。
示例:
看起来应该是这样的:
gulp.task('build', ['clean'], function(done){
runSequence(
['sass', 'html', 'fonts', 'scripts'],
function(){
buildBrowserify({
minify: isRelease,
browserifyOptions: {
debug: !isRelease
},
uglifyOptions: {
mangle: false
},
tsifyOptions: {
typescript: require('your typescript')
}
}).on('end', done);
}
);
});