Node.js ';承诺';isn';在新安装的npm包中无法识别

Node.js ';承诺';isn';在新安装的npm包中无法识别,node.js,npm,npm-install,Node.js,Npm,Npm Install,我正在尝试安装。正如说明书中所说,我应该这样做 npm install angular2-websocket 这就给了我: angular-quickstart@1.0.0 /home/me/dir ├─┬ angular2-websocket@0.9.0 │ └── bluebird@3.4.7 ├── UNMET PEER DEPENDENCY reflect-metadata@^0.1.8 ├── UNMET PEER DEPENDENCY rxjs@5.0.0-beta.12 ├─

我正在尝试安装。正如说明书中所说,我应该这样做

npm install angular2-websocket
这就给了我:

angular-quickstart@1.0.0 /home/me/dir
├─┬ angular2-websocket@0.9.0 
│ └── bluebird@3.4.7 
├── UNMET PEER DEPENDENCY reflect-metadata@^0.1.8
├── UNMET PEER DEPENDENCY rxjs@5.0.0-beta.12
├── UNMET PEER DEPENDENCY typescript@2.0.10
└── UNMET PEER DEPENDENCY zone.js@0.7.6
正如我所研究的,这些对等依赖项是必须手动安装的依赖项,但是
自述文件中没有提到它们。我就这样离开了

然后是用法部分,在编译部分之前,所以我不知道我应该做什么。但我还是编译了,没有错误。我只是按照
自述文件中的说明做了:

npm run typings
npm run compile
然而,当我尝试编译一个只导入angular2 websocket库的测试文件时,我得到:

node_modules/angular2-websocket/angular2-websocket.d.ts(36,30): error TS2304: Cannot find name 'Promise'.
../../node_modules/rxjs/Observable.d.ts(69,60): error TS2304: Cannot find name 'Promise'.
../../node_modules/rxjs/Observable.d.ts(69,70): error TS2304: Cannot find name 'Promise'.

如果承诺即使在浏览器中也可用,那么为什么找不到名称呢?另外,为什么此库的包被列为对等包?

。可能是您的
typescript.json
文件的目标是
es5
,而它需要是
es6
。Promise语法不是
ES5
的一部分,因此会触发错误。@Dianahland,但它需要在浏览器上运行,它是angularI,我对angularI不太了解,但我在Node中工作,对我来说,这似乎是你的问题:你安装的npm包使用Promise语法,但你的项目没有在ES6中设置。您可以使用ES6,然后使用类似的方法将ES6代码向下传输到ES5以供浏览器使用。下面是Angular 2 ES6项目设置的示例。另一种选择是使用不需要承诺语法的不同包。