Articles of meteor

meteor1.3和configuration

我有一个简单的问题。 当你使用node + webpack你可以很容易地configuration任何你想要的。 例如,我可以写在我的应用程序模块的configuration默认path。 唧唧我可以在meteor1.3里做吗? 他们有这样的Webpack的一些configuration文件?

Chessboardjs NPM包,不显示图像

我正在尝试使用meteor1.13的https://www.npmjs.com/package/chessboardjs包。 我写了一个简单的响应组件来渲染电路板,但是由于某种原因它不渲染图像。 compoent代码: import React from 'react' import ChessBoard from 'chessboardjs' export default class GamePage extends React.Component { render() { return ( <div> <div id="chessboard" style={{"width": "400px"}}></div> </div> ) } componentDidMount() { var board = ChessBoard('chessboard'); } } 我发现那个包里面的.css文件没有被使用,所以也许我也要导入它。

Meteor方法对客户端返回undefined(asynchronous)

我一直在努力将Google Recaptcha整合到Meteor和AngularJS Web应用程序中。 一切都很顺利,直到我必须validationrecaptcha响应 – 由于一些奇怪的原因,我无法从后端到前端获得asynchronous响应。 我已经尝试了很多不同的变体,并且在SO和互联网上阅读了很多很多的post,但没有运气 – 所以我select发布自己的问题。 这是我正在做的事情: 客户: Meteor.call('recaptcha.methods.validateRecaptcha', { 'response' : this.recaptcha.getResponse(this.id) }, function(error, result) { // error and result are both undefined console.log('Do something with the ' + error + ' or ' + result + '.'); } 所以,我打电话给一个Meteor方法,并传入一个方法完成后运行的callback函数。 但是, error和result参数都是未定义的。 服务器: run: function(data) { if (this.isSimulation) { /* * […]

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 […]