我有一个基于Angular2的项目,它使用TypeScript编译为es5并使用AOT编译器。 AOT编译器必须安装本地打字稿,否则,我得到:
module.js:457
throw err;
^
Error: Cannot find module 'typescript'
at Function.Module._resolveFilename (module.js:455:15)
at Function.Module._load (module.js:403:25)
at Module.require (module.js:483:17)
at require (internal/module.js:20:19)
但是当我安装了这个时,由于es5缺少es6功能的定义,我会遇到很多错误。
Error at C:/Users/George/Source/Repos/docs/node_modules/@types/mongodb/index.d.ts:17:64: Cannot find name 'Promise'.
Error at C:/Users/George/Source/Repos/docs/node_modules/@types/mongodb/index.d.ts:21:57: Cannot find name 'Promise'.
Error at C:/Users/George/Source/Repos/docs/node_modules/@types/mongodb/index.d.ts:165:78: Cannot find name 'Promise'.
Error at C:/Users/George/Source/Repos/docs/node_modules/@types/mongodb/index.d.ts:171:92: Cannot find name 'Promise'.
Error at C:/Users/George/Source/Repos/docs/node_modules/@types/mongodb/index.d.ts:175:34: Cannot find name 'Promise'.
Error at C:/Users/George/Source/Repos/docs/node_modules/@types/mongodb/index.d.ts:182:20: Cannot find name 'Promise'.
Error at C:/Users/George/Source/Repos/docs/node_modules/@types/mongodb/index.d.ts:186:86: Cannot find name 'Promise'.
Error at C:/Users/George/Source/Repos/docs/node_modules/@types/mongodb/index.d.ts:190:72: Cannot find name 'Promise'.
但是,如果我添加es6-promise
定义,则会出现以下错误:
node_modules/@types/es6-promise/index.d.ts(11,15): error TS2300: Duplicate identifier 'Promise'.
node_modules/@types/es6-promise/index.d.ts(42,19): error TS2300: Duplicate identifier 'Promise'.
node_modules/typescript/lib/lib.es6.d.ts(4852,11): error TS2300: Duplicate identifier 'Promise'.
node_modules/typescript/lib/lib.es6.d.ts(5175,11): error TS2300: Duplicate identifier 'Promise'.
node_modules/typescript/lib/lib.es6.d.ts(5342,13): error TS2300: Duplicate identifier 'Promise'.
node_modules/typescript/lib/lib.es6.d.ts(5560,11): error TS2300: Duplicate identifier 'Promise'.
我应该做些什么来满足所有这些要求?您可以在GitHub上看到完整的回购。