Visual Studio 2017中TypeScript选项缺失及Ionic2项目构建报错问题
解决Visual Studio 2017中Ionic 2项目因String Enums导致的构建报错问题
兄弟,我之前也踩过一模一样的坑!你说的完全对,字符串枚举(string enums)确实是TypeScript 2.4版本才正式支持的特性,VS2017默认自带的TypeScript版本大概率低于这个门槛,所以才会触发构建报错。至于找不到VS里的TypeScript设置,别急,我给你捋几个靠谱的解决路子:
方法一:通过项目属性面板调整版本
- 右键你的Ionic项目(应该是基于Cordova的吧?),选择属性(Properties)
- 在弹出的属性窗口里,找左侧的TypeScript Build选项卡——这里就能直接选择你需要的TypeScript版本了
- 要是没看到这个选项卡,要么是你没装对应版本的TypeScript SDK,要么是项目配置有点小问题,先往下看方法三补装SDK就行
方法二:用tsconfig.json强制指定版本
Ionic项目肯定自带tsconfig.json,直接改这个比找VS设置更靠谱:
- 打开项目根目录的
tsconfig.json,在compilerOptions里确保基础配置没问题,比如:{ "compilerOptions": { "target": "es5", "lib": ["es2017", "dom"], "module": "es2015", "moduleResolution": "node", "strict": true, "esModuleInterop": true } } - 再打开
package.json,把typescript的依赖版本改成^2.4.0或者更高(兼容Ionic2的话,选2.4以上的稳定版就行),然后跑npm install更新本地依赖 - VS2017默认会优先使用项目本地安装的TypeScript版本,这样就能绕开全局版本不匹配的问题
方法三:安装对应版本的TypeScript SDK
如果属性面板里压根找不到TypeScript相关选项,就得先补装SDK:
- 打开VS2017的工具菜单,选择获取工具和功能
- 在弹出的安装器里,切换到单个组件标签,搜索“TypeScript”,找到2.4及以上的版本勾选安装,重启VS之后就能看到属性面板里的TypeScript设置了
最后别忘了,改完配置后先清理一下解决方案(右键解决方案→清理),再重新构建项目,应该就能解决字符串枚举的报错了!
内容的提问来源于stack exchange,提问作者UO Man
相关产品推荐
相关产品推荐

