Tag: meteor

与一个Web小部件 – meteor,反应,节点通信

我正在构build一个聊天仪表板和小部件,客户应该能够将小部件放入其页面。 一些类似的例子是Intercom或者Drift 。 目前,“主”应用程序是用Meteor.js编写的(前端是React)。 我写了一个<Widget />组件,并将其引入到/widget目录中。 在这个目录里面,我也有一个index.jsx文件, index.jsx包含以下内容: import React from 'react'; import …… ReactDOM.render( <Widget/>, document.getElementById('widget-target') ); 然后我在index.jsx设置一个入口点的webpackconfiguration,当运行bundle.js在公共目录下将bundle.js吐出来。 这可以包含在另一个页面,只需包含一个script和div : <script src="http://localhost:3000/bundle.js" type="text/javascript"></script> <div id="widget-target"></div> 几个问题: 这个实现有什么问题? 他们的安全问题是否需要注意? 前面链接的例子似乎都以某种forms使用iframe。 什么是与我的主要meteor应用程序沟通的最佳方式? 一个REST API? 用Socket.io发送事件? 小部件是一个聊天小部件,所以我需要来回发送消息。 我怎样才能为用户和小部件实现某种唯一的标识符/用户身份validation? 目前,该小部件是预编译的。

追踪meteor/节点光纤中的堆栈溢出

我现在看到了这个崩溃,对节点光纤基础结构不熟悉,不知道从哪里开始解释错误或者检测代码。 Meteor server running on: http://localhost:3000/ W202407-10:06:05.740(-8)? (STDERR) /Users/dauser/.meteor/tools/0b2f28e18b/lib/node_modules/fibers/future.js:173 W202407-10:06:07.363(-8)? (STDERR) throw(ex); W202407-10:06:07.363(-8)? (STDERR) ^ W202407-10:06:07.363(-8)? (STDERR) RangeError: Maximum call stack size exceeded => Exited with code: 8 => Meteor server restarted 据我了解,有些事情反复激烈,服务器堆栈炸毁,崩溃。 不幸的是,我不知道这个违规的function在哪里 – 我看着我的Deps.autorun呼叫(目前只有一个),似乎并不麻烦。 我的代码没有用显式recursion实现,我没有任何理由怀疑大对象传递。 显然,我当然不确定。 我真的只是在寻找关于如何对代码进行testing以向我展示事情失控的build议。 由于meteor在幕后做了大量的工作,如果有人能给我几个关于在哪里看的指针,那将是非常有用的。 刚刚回到这个位置,在哪里看,我还是很迷茫。 这build议更新到节点0.11.x会给我更多的信息,但这样做似乎并没有添加更多的细节,当它崩溃。 崩溃发生在任何页面交互之后 – 也就是服务器启动并运行正常,但是如果我在浏览器中重新加载或者与页面本身进行交互,BOOM! 受欢迎的需求,这里是服务器代码: isAuthorized = () -> console.log "checking authorization" this.userId == […]

如何select正确的JavaScript框架以及如何开始?

我的第一篇文章,所以我很兴奋的每个答案。 我在select正确的JavaScript框架时遇到了一个很大的问题。 只是一些个人信息,我知道javaScript的基础知识,我可以写jQuery,当然我知道HTML5和CSS3。 但我想和其他许多人一样,跳到服务器端应用程序。 我在网上阅读了几个月来关于所有不同的框架,但它决定一个非常复杂。 前几天我开始尝试使用angularJs,但由于某种原因,我并没有真正理解它,因为我不太了解这些文档,而且就我search的内容而言,没有太多的video广播。 我可以用video学得更好。 然后我切换到meteor.js,但他们的文档更复杂,也没有太多的video。 在读meteor的时候,我转向了node.js,因为据说,如果我理解了node.js,它就更容易理解了。 但直到我明白node.js有很多时间丢失。 我知道我必须学习它,但我只想从一个客户端框架开始,然后与node.js轻松连接。 我现在的基本意图是,从一个真正的基本待办事项应用程序开始,只为自己学习它,也许以后添加更多的function。 有一天,我想继续尝试另一个应用程序,另一个等等。这是一个很长的路要走。 但是我不能为它select一个框架。 我想要的东西,这是相当开放的不同用例,它的一个小的或一个大的应用程序。 以防万一。 但是大多数时候,当我阅读一个框架的时候,他们也会说一些关于commonJS,underscore.js等的东西,这只是让我困惑,因为我一直认为我必须学习所有的东西。 那么最好的方法是什么? 我应该回到Angular并进一步尝试吗? 我是否应该尝试自己编写,在需要的时候查看文档,或者我应该先阅读完整的文档? meteor也一样。 而且我也总是在脑海里有骨干,如果它可能是更好的。 这个领域是如此巨大的开始,所以你的经验是什么? 你是怎么开始的,最好的办法是什么? 我不想放弃更多的时间,没有决定毫无意义的阅读。 非常感谢你的帮助。

Iron Router和Meteor中的服务器端路由

前锋 在meteor看来,我们不能调用服务器端路由来将文件呈现给页面,而没有从我们正常的工作stream程中进行某种处理,从我所读到的有关服务器端路由的一些方面。 我希望我错了,有一个简单的方法来实现我想要做的事情… **对不起,如果这是有点长,但我认为在这种情况下提供更多的背景和上下文是必要的** 软件/版本 我正在使用最新的铁路路由器1. *和meteor1. *开始,我只是使用帐户密码。 背景/上下文 我有一个onBeforeAction,只要将用户redirect到欢迎页面或主页基础上,如果用户login或不是: 两者/ routes.js Router.onBeforeAction(function () { if (!Meteor.user() || Meteor.loggingIn()) this.redirect('welcome.view'); else this.next(); } ,{except: 'welcome.view'} ); Router.onBeforeAction(function () { if (Meteor.user()) this.redirect('home.view'); else this.next(); } ,{only: 'welcome.view'} ); 在同一个文件中,两个/ routes.js,我有一个简单的服务器端路由,呈现一个pdf到屏幕上,如果我删除onBeforeAction代码,路由工作(pdf呈现到页面): Router.route('/pdf-server', function() { var filePath = process.env.PWD + "/server/.files/users/test.pdf"; console.log(filePath); var fs = Npm.require('fs'); var […]

Meteor从一个智能包装项目的path

我正在寻找一种方法来从智能包中查找meteor项目path(例如:获取.meteor文件夹所在目录的path…)。 我无法使用节点的__dirname和__filename,因为在meteor中它们不是可用的。 有小费吗 ?

如何使用Meteor的分析器?

我的Meteor应用程序,在服务器端(节点进程),正在使用更多的CPU比是可以接受的,我想调查它。 两个同时的客户端是主节点使用100%的CPU。 这可能与观察员的大量使用有关,但是在更改整个应用程序之前,我需要进一步调查。 那么,我可以用什么工具来分析它? 如何使用它?

Meteor.js可能与Cassandra而不是MongDB?

我正在创build一个客户支持系统的项目的开始。 对于这个系统我看了Meteor.js ,看起来很有趣。 关键是我们想用Cassandra来构build我们系统的其余部分。 所以我的问题如下: meteor.js也可以用于Cassandra而不是MongoDB ? 是否有任何准备好的代码片段来做到这一点,还是我们需要自己编写大量的兼容性代码?

meteor将不会启动 – 纤维/ futures.js抛出错误“错误:SQLITE_CORRUPT:数据库磁盘映像格式错误”

现在,在本地运行,OSX中Meteor CLI的每个动作都会引发这个exception: /Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/fibers /future.js:245 throw(ex); 错误:SQLITE_CORRUPT:数据库磁盘映像格式错误 我很难过 我看了一下这个fibre / future.js代码,但它远远超出了我。 我发现在catalog-remote.js使用了SQLite,那么有没有办法使用SQLite CLI工具来重置? 或者,我应该删除并重新安装SQlite3(如果是这样,如何)? 以下是我在terminal上使用Meteor命令时获得的完整日志: /Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/fibers/future.js:245 throw(ex); ^ Error: SQLITE_CORRUPT: database disk image is malformed at Object.Future.wait (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/fibers/future.js:395:18) at runOnce (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/catalog-remote.js:237:21) at [object Object]._.extend._serialize (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/catalog-remote.js:176:14) at [object Object]._.extend.runInTransaction (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/catalog-remote.js:242:21) at [object Object]._.extend._columnsQuery (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/catalog-remote.js:888:24) at [object Object]._.extend._contentQuery (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/catalog-remote.js:878:21) at [object Object]._.extend.getReleaseVersion (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/catalog-remote.js:663:23) at Object.release.load (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/release.js:233:41) at /Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/main.js:893:23 […]

meteor后端代码总是可以在客户端?

我创build了testingMeteor应用程序,我发现整个代码(服务器端也可以)在客户端上使用开发工具。 testing应用程序(在浏览器中): (function(){ if (Meteor.isClient) { Template.hello.greeting = function () { return "Welcome to test_app."; }; Template.helo.events({ 'click input' : function () { // template data, if any, is available in 'this' if (typeof console !== 'undefined') console.log("You pressed the button"); } }); } if (Meteor.isServer) { Meteor.startup(function () { // code to run on […]

如何在Windows上检查Meteor.js的版本

我安装了Meteor for Windows,并想知道我安装了哪个版本的Meteor,以决定是否更新。 如何才能做到这一点? meteor update不适用于Windows。 meteor –version返回消息Unreleased (running from a checkout)