我的目標是在Urigo的meteor-angular2.0示例中使用ElasticSearch(請參閱下面的鏈接)。Typescript找不到模塊'流星/ easy:搜索'
爲此,我嘗試在我現有的基於https://github.com/Urigo/meteor-angular2.0-socially的項目中使用easysearch:elasticsearch
包。
我使用meteor add easysearch:elasticsearch
後,如果我嘗試實現它,它總是收到Cannot find module error
(serverside/clientside/both - 無關緊要)。 在這裏,在both/collections/cases.collections.ts
文件我執行的代碼:
import { MongoObservable } from "meteor-rxjs";
import { Meteor } from 'meteor/meteor';
import { Index } from 'meteor/easy:search' // gives error
import { ElasticSearchEngine } from 'meteor/easysearch:elasticsearch' //gives error
import { Case } from "../models/case.model";
export const Cases = new MongoObservable.Collection<Case>("cases");
// const CasesIndex = new Index({
// collection: Cases,
// fields: ['name', 'description'],
// engine: new ElasticSearchEngine({
// body:() => { } // modify the body that's sent when searching
// })
function loggedIn() {
return !!Meteor.user();
}
Cases.allow({
insert: loggedIn,
update: loggedIn,
remove: loggedIn
});
我.meteor/packages
文件中有如下內容:
# Meteor packages used by this project, one per line.
# Check this file (and the other files in this directory) into your repository.
#
# 'meteor add' and 'meteor remove' will edit this file for you,
# but you can also edit it by hand.
[email protected] # Packages every Meteor app needs to have
[email protected] # Packages for a great mobile UX
[email protected] # The database Meteor supports right now
[email protected] # Reactive variable for tracker
[email protected] # Meteor's client-side reactive programming library
[email protected] # CSS minifier run for production mode
[email protected] # JS minifier run for production mode
[email protected] # ECMAScript 5 compatibility for older browsers.
angular2-compilers
practicalmeteor:mocha
xolvio:cleaner
hwillson:stub-collections
dispatch:mocha-phantomjs
[email protected]
accounts-password
anti:fake
tmeasday:publish-counts
check
email
jalik:ufs
jalik:ufs-gridfs
mickaelfm:vermongo
easysearch:elasticsearch
easysearch:core
easy:search
而且(如果它幫助)在這裏我package.json
:
{
"name": "a angular2 elasticsearch site",
"private": true,
"scripts": {
"start": "meteor run",
"start:prod": "meteor run --production",
"build": "meteor build ./build/",
"clear": "meteor reset",
"meteor:update": "meteor update --all-packages",
"test": "meteor test --driver-package practicalmeteor:mocha",
"test:ci": "meteor test --once --driver-package dispatch:mocha-phantomjs"
},
"devDependencies": {
"@types/chai": "3.5.2",
"@types/meteor": "^1.4.1",
"@types/mocha": "2.2.41",
"chai": "3.5.0",
"chai-spies": "0.7.1",
"meteor-node-stubs": "0.2.4"
},
"dependencies": {
"@angular/animations": "^4.4.3",
"@angular/common": "^4.4.3",
"@angular/compiler": "^4.4.3",
"@angular/core": "^4.4.3",
"@angular/forms": "^4.4.3",
"@angular/http": "^4.4.3",
"@angular/material": "2.0.0-beta.8",
"@angular/platform-browser": "^4.4.3",
"@angular/platform-browser-dynamic": "^4.4.3",
"@angular/router": "^4.4.3",
"@types/node": "^7.0.22",
"@types/underscore": "^1.8.1",
"angular2-file-drop": "^0.2.0",
"angular2-google-maps": "0.17.0",
"angular2-meteor": "0.7.1",
"angular2-meteor-accounts-ui": "1.0.0",
"angular2-meteor-polyfills": "0.2.0",
"angular2-meteor-tests-polyfills": "0.0.2",
"babel-runtime": "6.23.0",
"bcrypt": "=1.0.2",
"gm": "^1.23.0",
"hammerjs": "^2.0.8",
"meteor-node-stubs": "0.2.11",
"meteor-rxjs": "0.4.7",
"meteor-typings": "1.3.1",
"ng2-drag-drop": "^2.0.1",
"ng2-pagination": "^2.0.1",
"reflect-metadata": "0.1.10",
"ng2-cytoscape": "0.4.0",
"rxjs": "5.4.0",
"zone.js": "0.8.11"
}
}
仍同樣的錯誤 - 我已經添加了包meteor add easy:search
,並通過重建整個應用程序3210。
此外,我將導入轉移到服務器端 - 只是爲了確保沒有問題,但我仍然在Atom編輯器和Chrome控制檯中得到錯誤。
難道是因爲我沒有使用Blaze組件而產生一些問題嗎?
仍然是同樣的錯誤 - 我已經添加了流星添加包簡單:通過npm run start搜索和重建整個應用程序。 –
@SaschaN。你能澄清那個錯誤嗎? – Styx
如果我另外添加'npm-debug-log'會有幫助嗎? –