2016-12-31 111 views
2

我尝试在我的Angular2应用中使用Elasticsearch NPM Module在Angular2(AngularCLI)中找不到模块elasticsearch

我使用导入我的服务范围内:

import { Client, SearchResponse } from 'elasticsearch'; 

打字稿编译器不抱怨,但ng serve输出:如果我尝试使用

Cannot find module 'elasticsearch' 

同样的情况:

import { Client, SearchResponse } from '../../node_modules/elasticsearch/webpack_config/angular.js'; 
+0

你安装的模块或只是做了你下载一个现有的项目? –

+0

我刚刚使用'ng create'创建了一个新项目,并在package.json中添加了''elasticsearch“:”^ 12.1.3“,并运行了'npm install'。其实这也是必要的,以重现我的问题。 – nik

+0

你不能那么做 – Milad

回答

3

安装类型:

npm i @types/[email protected] 

另外,看看你的tsconfig.json,并确保它在那里,以及:

旧版本打字稿的:

"types": [  
     "elasticsearch" 
    ] 

打字稿的新版本(> 2)

"typeRoots": [ 
     "node_modules/@types" 
    ] 
+0

好吧,在安装其他模块之前,我需要首先运行'npm i @ types/elasticsearch @ 0.0.7',但之后就可以运行。 – nik

+0

我将项目从ng2 quickstart种子切换到angular-cli框架,并从system.js转到了webpack。我认为对于system.js用户来说,这个问题可以在system.js配置文件中解决?由于这个问题,我暂时放弃了在我的项目中使用elasticsearch之后,基本上已经陷入了困境。 –

1

卸载弹性搜索的所有软件包,如果已经这样做...使用类似命令...

 
npm uninstall elasticsearch 
npm uninstall -g elasticsearch 
npm uninstall -g --save-dev elasticsearch 
npm uninstall @types/elasticsearch 

现在使用角CLI在项目中安装了弹性搜索包的类型定义

 
npm install @types/elasticsearch 

现在安装弹性搜索包

 
npm install elasticsearch 
相关问题