Tag: meteor

Nodejs Numtel通过SSH连接的Mysql

我在使用numtel meteor软件包通过networking发送和接收MySql信息时遇到问题(数据库位于服务器上)。 目前,它能够使用他的软件包将数据库中的信息推送到屏幕上,但问题发生在第一次加载之后。 在第一次加载时,它能够从数据库中检索信息,并将其显示到屏幕上,但之后的任何事情似乎触发器都被破坏了,但只是有所不同。 我能够发送信息到服务器,但它似乎失败了dynamic检索。 信息发送到服务器就好了,但信息不会被检索并显示回屏幕上。 它也只是打破了一次,因为我添加了隧道代码。 它以前工作,并在同一台机器上使用数据库时得到更新。 messages = new MysqlSubscription('getMessages'); messages.addEventListener('update', function(diff, data) { console.log("Event listener"); }); if (Meteor.isClient) { Template.messageHistory.helpers({ messages: function () { return messages.reactive(); } }); } if (Meteor.isServer) { var Tunnel = Meteor.npmRequire('tunnel-ssh'); var config = { host: "ourhost", username: "uname", password: "password", port:22, dstPort:3306, srcPort:3307, }; Tunnel.tunnel(config, function(err) […]

使用Docker扩展微服务

我已经创build了一个Node.js(Meteor)应用程序,并且正在研究未来处理扩展的策略。 我已经将我的应用程序devise为一组微服务,现在我正在考虑在生产中实现这一点。 然而,我想要做的是在一个服务器实例上运行许多微服务,以便在使用less量资源的同时最大限度地利用资源。 我知道容器是有用的,但我很好奇,如果有一种方法来创build一个dynamic缩放集合的地方,我可以: 编写命令,如“如果运行这个应用程序的容器达到> 80%的CPU /其他限制指标,则在此服务器上提供另一个应用程序容器”, 如果需要额外的容器,提供和准备其他服务器, 这些容器之间的负载均衡连接(这是否会影响服务器负载平衡,例如,发送较less的连接到容器较less的服务器?) 我已经研究过AWS EC2,Docker Compose和nginx,但是我不确定我是否正确地朝着正确的方向前进。

meteor1.4 – (节点)系统已被弃用。 改用util

就我个人而言,我在运行meteor时遇到了一个问题。 该应用程序完美工作,但控制台显示exception (节点)系统已被弃用。 改用util。 我不知道什么可能是…需要帮助….

如何使用Meteor路由器(NodeJS)的文件系统的createReadStream

我需要允许我的应用程序的用户下载与meteor文件。 目前我所做的是当用户请求下载一个文件到我在Mongo的“fileRequests”集合中input文件位置和请求的时间戳,并返回新创build的请求的ID。 当客户端获得新的ID时,它立即进入mydomain.com/uploads/:id。 然后,我在Meteor之前使用这样的方法来拦截请求: var connect = Npm.require("connect"); var Fiber = Npm.require("fibers"); var path = Npm.require('path'); var fs = Npm.require("fs"); var mime = Npm.require("mime"); __meteor_bootstrap__.app .use(connect.query()) .use(connect.bodyParser()) //I add this for file-uploading .use(function (req, res, next) { Fiber(function() { if(req.method == "GET") { // get the id here, and stream the file using fs.createReadStream(); } […]

我如何使用node.js和gm创buildpdf的缩略图

我使用meteor(它是build立在节点上)和CollectionCFS(它允许我使用gm [GraphicsMagick]进行拇指钉钉)。 我做了以下操作,让它自动创build上传图片的缩略图: new FS.Store.FileSystem("thumbs", { transformWrite: function(fileObj, readStream, writeStream) { gm(readStream, fileObj.name()).resize('100', '100').stream().pipe(writeStream); }, path: "/Volumes/Public/Thumbs", }) transformWrite函数接收readStream(原始图像),对其进行修改并将结果传递给writeStream。 我怎么能创buildPDF的缩略图?

可以用节点而不是meteor启动一个Meteor App?

如何用node而不是meteor启动Meteor App。 我试过这个: $ meteor create m; m: created. To run your new app: cd m meteor $ cd m; $ meteor; [[[[[ c:\git\m ]]]]] => Started proxy. => Started MongoDB. => Started your app. => App running at: http://localhost:3000/ Type Control-C twice to stop. # OK! This works :O) $ node .meteor\local\build\main.js; module.js:338 throw […]

meteor:超出最大调用堆栈大小

我尝试做一些我已经做了几次,从来没有遇到过这样的错误。 我只是想在我的meteor应用程序中find他们的X字段等于Y的所有文件: JS:(模板的帮手) 'friendPictures' : function(){ var currentFriendId = this._id; Pictures.find({ownerId: currentFriendId}); // DO SOMETHING WITH THE PICTURES } HTML :(模板内) {{#each friend}} … {{friendPictures}} // Calling for the helper … {{/each}} 在尝试执行“find()”时,我仍然遇到这个错误,同样在Chrome的控制台中: Uncaught RangeError: Maximum call stack size exceeded at Object.EJSON.clone (http://localhost:3000/packages/ejson.js?71047b64b5196348bdbe5fd5eea9ac97a5a9eb14:528:3) at http://localhost:3000/packages/ejson.js?71047b64b5196348bdbe5fd5eea9ac97a5a9eb14:530:22 at Function._.each._.forEach (http://localhost:3000/packages/underscore.js?0a80a8623e1b40b5df5a05582f288ddd586eaa18:164:22) at Object.EJSON.clone (http://localhost:3000/packages/ejson.js?71047b64b5196348bdbe5fd5eea9ac97a5a9eb14:529:5) at http://localhost:3000/packages/ejson.js?71047b64b5196348bdbe5fd5eea9ac97a5a9eb14:530:22 at Function._.each._.forEach […]

meteor采摘器服务器端路由器使用快递中间件

我想使用select器服务器端路由器中的res.send('string')或res.json(json)在我的meteorrestapi快递函数。 在文档中,它说: 您可以使用现有的连接和表示中间件没有任何问题。 我如何使用res.send和res.json等快捷function? 当我尝试使用它们时,它告诉我他们不是一个function。 我有我的服务器的以下main.js文件: import { Meteor } from 'meteor/meteor'; import { Picker} from 'meteor/meteorhacks:picker'; var bodyParser = Meteor.npmRequire('body-parser'), methodOverride = Meteor.npmRequire('method-override'), logger = Meteor.npmRequire('morgan'); Picker.middleware(bodyParser.json()); Picker.middleware(bodyParser.urlencoded({extended:false})); Picker.middleware(logger('dev')); Picker.middleware(methodOverride('X-HTTP-Method')); // Microsoft Picker.middleware(methodOverride('X-HTTP-Method-Override')); // Google/GData Picker.middleware(methodOverride('X-Method-Override')); Meteor.startup(() => { console.log('meteor server started'); var postRoutes = Picker.filter(function(req, res) { return req.method == "POST"; }); postRoutes.route('/post/:id', […]

显示Meteor React Client中的所有用户

我有一些麻烦让所有注册用户显示在客户端。 std:accounts-ui包包含在.meteor/packages 。 autopublish包已被删除。 所有用户的数据都作为allUsers在Users.js中allUsers ,而客户端从react-meteor-data提供的createContainer订阅allUsers发布。 但是,页面只呈现当前login的用户的详细信息Meteor.users().find().fetch()在浏览器中运行Meteor.users().find().fetch()只显示当前login的用户,如果用户是未login。 在服务器端运行console.log(Meteor.users.find().fetch()正确输出所有用户。 为什么在浏览器上发生这种情况? /imports/api/Users.js import { Meteor } from 'meteor/meteor'; if (Meteor.isServer) { Meteor.publish('allUsers', function() { return Meteor.users.find({}); }) } /imports/ui/App.jsx import React, { Component, PropTypes } from 'react'; import { createContainer } from 'meteor/react-meteor-data'; import { Accounts } from 'meteor/std:accounts-ui'; import { Table } from 'react-bootstrap'; import User […]

Meteor.call(“函数”,arg)不同步发生

尽pipebuild议这是一个同步调用,但是我目前没有得到任何以下函数的返回值。 如果我asynchronous做(即function(错误,等等){console.log(等等);}),我得到正确的,预期的输出。 Template.file_nav.files = function(path) { path = path || "/"; var x = Meteor.call('get_files', path); return x; } 以下是“get_files”方法的服务器端代码: Meteor.methods( { get_files : function get_files(path) { return [ { "name" : " bob" }, { "name" : "alice" }, ]; } 另外,这里的HTML部分正确调用,以防万一它是相关的: <template name="file_nav"> <div> <ul style="dirnav"> {{#each files}} {{#if isDirectory this}} <li><a href="javascript:void(0)" […]