Articles of meteor

meteor部署问题:模块没有自行注册

我刚在digitalocean租了一个servlets器,然后我按照这个教程来安装meteor: https://www.digitalocean.com/community/tutorials/how-to-deploy-a-meteor-js-application-on-ubuntu-14-04-with-nginx 我明白我做了什么,一切顺利。 然后当我第一次启动项目时,我得到了一个nodejs版本的问题,所以我更新到4 ….然后我有一个纤维问题,所以我重新安装它,现在我得到这个: 新贵日志: /home/[user]/bundle/programs/server/node_modules/fibers/future.js:267 throw(ex); ^错误:模块没有自注册。 在module.load(module.js:355:32)在Module.require(module.js:365:17)的Function.Module._load(module.js:310:12)的错误(native) .js:384:17)at bindings(/home/[user]/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt/node_modules/bcrypt/node_modules/bindings/bindings.js:76:44)at目的。 (/home/[user]/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt/node_modules/bcrypt/bcrypt.js:3:35)at Module._compile(module.js:460:26)at Object.Module._extensions..js(module.js:478:10)在Module.load(module.js:355:32) 首先,我试图降级到nodejs 0.12,因为这是我在开发中使用的。 我也尝试删除node_module文件夹和npm重新安装/重build一切。 而我只是试图重新安装bcrypt 我卡住,我不知道什么是实际的问题。 我该怎么办 ? RXP

使用Meteor.js + React.js进行服务器端路由

我的问题是如何正确设置在客户端上与react.js连接的服务器端路由。 我正在构build一个基于Meteor.js的应用程序,我将其与React.js集成在一起。 该应用程序将需要一些路线。 我的主要问题(到目前为止)是,我预计有很多服务器端API调用使用他们各自的(安全)密钥。 电话会是这样的 Meteor.http.call("GET", "http://search.twitter.com/search.json?q=perkytweets"); 显然,出于安全原因,这些应该是服务器端。 然后我将处理服务器上的数据,并通过我需要的反应,然后在DOM上呈现。 似乎Flow Router并不理想,虽然它似乎是Meteor+React应用程序的开始,因为它专注于客户端路由,而不是我需要的服务器端路由。 通常情况下,Meteor.js应用程序是使用Iron Router构build的,但是在使用React与Iron Router一起工作时遇到了一些困难。 请注意:下面的代码似乎并没有表明需要任何服务器端,这是因为我只是得到一切与教程设置,但它最终会…现在只是试图让路线工作。 我一直在做以下工作: 反应代码如下: 客户机/ main.html中 <head> <title>List</title> </head> <body> <div id="render-target"></div> </body> 客户机/ main.jsx import React from 'react'; import { Meteor } from 'meteor/meteor'; import { render } from 'react-dom'; import App from '../imports/ui/App.jsx'; Meteor.startup(() => { render(<App />, document.getElementById('render-target')); }); […]

mongoose – 在检索的文档中没有“_id”属性

我有一个用Meteor和外部nodejs服务器编写的网站,与meteor的mongo一起工作。 我在meteor端收集tradeOffers创build新文档,并在外部服务器(我使用mongoose)在这个集合中轮询新文档。 一切工作正常,除了mongoose返回文件没有“_id”属性。 我的代码是这样的: // Meteor var TradeOffers = new Mongo.Collection('tradeOffers'); TradeOffers.insert({ … }); // Mongoose var tradeOfferSchema = new mongoose.Schema({ … }, { collection: 'tradeOffers' }); var TradeOffer = mongoose.model('TradeOffer', tradeOfferSchema); TradeOffer.find({}).exec(function(err, results) { results.forEach(function(tradeOffer) { console.log(tradeOffer._id); // undefined }); }); 我注意到在Meteor创build的文档有'String'types的'_id'字段,并且使用mongoose创build的文档具有'ObjectId'types的'_id'。 但即使这是问题,我该如何解决呢? 我找不到任何信息。 先谢谢你。

meteor包asynchronous/节点光纤未来不工作

我试图从一个API使用meteor方法获取JSON数据,我试图使用meteorwrapAsync以及节点未来。 以下是我的代码: 模板助手 – 客户端 getLocationTimebyAPI: function (company_location) { Meteor.call('getLocationTimebyAPIServerMethod', company_location, function(error, results){ if(error){ console.log('error',error.reason); } else { var localtime = results.data.data.time_zone[0].localtime var utcoffset = results.data.data.time_zone[0].utcOffset console.log(localtime+ ' '+utcoffset); var returntext = localtime+' (UTC '+utcoffset+')'; return returntext; } }); } 方法1:使用Meteor wrapAsync – 服务器端 'getLocationTimebyAPIServerMethod': function(company_location){ var apiurl = 'http://api.worldweatheronline.com/free/v2/tz.ashx?q='+company_location+'&format=json&key=XXXXXX'; var convertAsyncToSync = Meteor.wrapAsync( HTTP.get […]

meteor远程ddp连接集合不允许更新操作

我目前使用以下方式将meteor应用程序A连接到另一个meteor应用程序B(DB所在的地方): 在应用程序A: remote = DDP.connect('http://url.of.app.B'); Booking = new Mongo.Collection('booking', remote); Booking.allow({ insert: function(userId, doc){ return false }, update: function(userId, doc){ return true }, remove: function(userId, doc){ return false } }); 而且已经能够find操作就好了。 但是,如果我试图做一个更新操作(使用Meteor方法调用来更新服务器端(应用程序A)): Booking.update({_id: bookingId}, {$set: {arrived: true} }); 不过,在更新被调用后,我一直在我的应用程序A上收到错误日志: 更新失败:访问被拒绝。 不允许validation器在限制集合上设置方法“更新”。 [403] 任何想法如何解决这个问题? 我已经做了允许/拒绝规则,但它仍然不工作…

如何在reactjs和meteor中显示加载器?

我有一个页面,其中3个食谱列出更多的button。 点击更多button时,会列出更多的3个配方。 我想要做的是在列出更多3食谱之前,我想显示一个微调/加载器图标,但我只能改变button的文本。 我怎样才能显示加载器图标,只要更多的button被点击,并在这些额外的3食谱列出。 我正在使用meteorjs和reactjs。 我的代码是 export default class Home extends Component { constructor(){ super(); this.state = { limit:3 , loading:false } this.addMore = this.addMore.bind(this); } getMeteorData(){ let data = {}; data.recipes = []; data.recipes = Recipes.find({},{sort:{createdAt:-1}}).fetch(); let recipeHandle = Meteor.subscribe('recipelist',this.state.limit); if(recipeHandle.ready()){ data.recipes = Recipes.find({},{sort:{createdAt:-1},limit:this.state.limit}).fetch(); } return data; } addMore(){ this.setState({ limit:this.state.limit + 3, loading: […]

Blaze LoginButtons模板在React中呈现 – login只能在主页上运行

所以我使用Meteor / React,但为了方便,我使用了Blaze的login模板。 它在主页上效果很好,但是当我尝试从网站上的任何其他页面login时,页面重新加载并且login看起来不成功。 这是我的实现。 AccountsUI.jsx import React, {Component} from 'react'; import ReactDOM from 'react-dom'; export class AccountsUI extends React.Component { componentDidMount(){ this.view = Blaze.render(Template.loginButtons, this.refs.loginContainer); } componentWillUnmount(){ Blaze.remove(this.view); } render(){ return( <span ref="loginContainer" /> ) } } mainLayout.jsx <div className="container-fluid"> <a className="navbar-btn pull-left panel-body"><b>FAQ</b></a> <a className="navbar-btn pull-right panel-body"><b>Category</b></a> <a className="navbar-btn pull-right panel-body"><b>Notifications</b></a> <a className="navbar-btn […]

meteorCMS两个应用程序或全在一个

我目前正在为meteor(基本上是一个类似于WordPress)的CMS工作。 我对这个CMS的devise有一个简单的问题。 我应该把我的CMS分成两个应用程序: – 查看内容的一部分(网站,模板,查看器插件) – 另一个用于pipe理部分(统计,网页控制,post和页面创build等) 要么, 我应该使用不同的路线和安全级别在一个应用程序中进行全部操作。 从我的angular度来看都有利有弊。 鸿沟: 在几台服务器之间共享CMS。 只有一个pipe理应用程序pipe理不同的网站的可能性。 看起来像一个networking。 – 使用pipe理没有查看器应用程序(无头Drupal) – 使用全面的meteor潜力大的应用程序。 一体 : 较小的应用程序,模板更适应pipe理小组。 更容易处理它。 – 面向博客 我真的很感兴趣,你的想法和意见。 谢谢。

meteor的远程数据库连接超时和重新连接

如果它的MongoDB没有在x秒内给出响应,Meteor是否有超时设置和重试? 想知道是否有人试过这个。 我有兴趣运行一个远程Meteor生产应用程序的MongoDB数据库。 Meteor-to-Mongo连接将会很快,只需要3-9毫秒,但是我也想知道Meteor(和NodeJS)如何应对短暂的networking中断。 应用程序会在等待很长的暂停时间时挂起吗? 如何强制1秒超时/重试以避免挂起?

meteor – rxjs@5.0.0-beta.11或rxjs@5.0.0-beta.6日暮依赖

我有angular2meteor项目的这个问题,如果我安装(与meteornpm安装)包rxjs5.0.0-beta.11 nam说: @angular/router@3.0.0-alpha.8 requires a peer of rxjs@5.0.0-beta.6 but none was installed. 如果我安装包rxjs@5.0.0-beta.6 nam说:“ npm WARN @angular/core@2.0.0-rc.6 requires a peer of rxjs@5.0.0-beta.11 but none was installed. npm WARN angular2-google-maps@0.14.0 requires a peer of rxjs@5.0.0-beta.11 but none was installed. “ 典型的问题“狗追尾”的问题,如果我安装beta.11 beta.6,如果我安装beta.6需要beta.11这是我的package.json { "name": "angular2-meteor-base", "private": true, "scripts": { "start": "meteor run", "test": "meteor test –driver-package […]