如何在包含打字稿的项目中使用es5?

时间:2016-10-12 16:16:06

标签: angular typescript npm ecmascript-6

我有一个基于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上看到完整的回购。

0 个答案:

没有答案