以下是重现问题的步骤:
-
mkdir
和cd
进去.. -
npm init
并接受默认值 -
jspm init
..接受默认值,但不要使用转换器 -
jspm install aurelia-framework
-
jspm install aurelia-bootstrapper
-
将一个空的
tsconfig.json
文件添加到目录中..我已经尝试了很多tsconfig设置来解决这个问题,但它与简单的{ }
配置一样 . 我甚至尝试过https://github.com/aurelia/skeleton-navigation/blob/master/skeleton-typescript-asp.net5/src/skeleton-navigation-typescript-vs/tsconfig.json的各种突变无济于事 . -
tsc
此时,您应该偶然发现错误: jspm_packages/npm/aurelia-binding@1.0.0-beta.1.3.6/aurelia-binding.d.ts(331,25): error TS2304: Cannot find name 'Map'. jspm_packages/npm/aurelia-binding@1.0.0-beta.1.3.6/aurelia-binding.d.ts(353,49): error TS2304: Cannot find name 'Map'.
我猜测依赖缺失了吗?
在这个repro中,你还会在其他aurelia * .d.ts文件中看到一些TS2304错误,但由于某种原因,我实际上并没有在实际环境中看到这些错误 .
我尝试从https://github.com/aurelia/skeleton-navigation/blob/master/skeleton-typescript-asp.net5/src/skeleton-navigation-typescript-vs/typings.json类型添加typings.json文件,然后发出 typings install
,但是如果我尝试`typings install es6-promise --save',那就没有帮助't change anything. Oddly enough, it didn' .
无论我尝试什么,我总是在运行时遇到相同的错误 tsc
为了记录,我正在运行以下版本......
-
npm v3.9.0
-
jspm v0.16.34
-
tsc v1.8.10
任何帮助是极大的赞赏 .
1 回答
您可以使用新的
--lib
选项--lib es6
只使用ES6的lib文件,并仍然将编译目标保持为ES5 .更多
更多关于
lib
选项:https://github.com/Microsoft/TypeScript/issues/6974(PS:它支持alm https://github.com/alm-tools/alm/)