Я хочу написать простой чат на meteor.js
, и поэтому я не хочу хранить данные в database
. Но я не нашел, как сделать заявку без database
.Как написать простой чат, без базы данных на meteor.js и react.js?
Вот пример кода, который я могу себе представить. Код Сервер: Код
export let ws = [{_id:'1', text:'test1'}, {_id:'2', text:'test2'}];
Meteor.publish('ws', function wsPub() { return ws; });
let ctr = 3;
Meteor.methods({
'addMsg'(text) { ws.push({_id:ctr+1, text:text}); }
});
и клиент:
import {ws} from '../api/model.js';
class Rtc extends Component {
constructor(props) {
super(props);
}
addMsg(e){
e.preventDefault();
Meteor.call('addMsg', this.refs.input.value);
}
render() {
return (
<div>
{this.props.ws.map((item, i)=>{
return(<span key={i._id}>{item.text}</span>);
})}
<input type="text" ref="input" />
<input type="submit" value="submit" onClick={this.addMsg.bind(this)}/>
</div>
);
}
}
export default createContainer(() => {
Meteor.subscribe('ws');
return { ws: ws };
}, Rtc);
, но я не понимаю, что я написал не так в createContainer
?
UPD: Я обновил код сервера, но до сих пор WebSockets не работает:
Meteor.publish('ws', function wsPub() {
let self = this;
ws.forEach((msg)=> {
self.added("msg", msg._id, msg.text);
});
self.ready();
// return ws;
});
Просто интересно, если вы не хотите сильное метеорного паб/к югу системы, поэтому использовать Meteor? – MasterAM
@MasterAM Мне нравится система pub/sub, но не всегда утомительна, что она хранится в базе данных, а не всегда в mongodb. Есть очень разные случаи и задачи. Здесь мы предполагаем прямо сейчас, чтобы не принять базовые вебры, и я пытаюсь понять, как это сделать. – alex10