我已经看过Angular vs. React,而Meteor问题多次问过.在流星方面,这个问题的答案不可避免地是对流星范围大得多的解释(有DDP,部署,所有服务器端的东西,以及它提供的所有其他东西).
我想将此问题仅限于Blaze引擎以及它们确实有些重叠的事情,特别是在编写或构建客户端代码方面可能提供额外功能和/或功能的情况.
我开始使用Meteorjs了.我是Windows用户,所以我下载了Windows安装程序包Release 0.7.0.1-win2.我使用gitbash作为我的命令行界面,无法让它识别流星.我收到错误"sh.exe":meteor:command not found".它在Windows命令行中工作正常,但我更喜欢gitbash.
如何让流星与gitbash一起工作?
我有一个非常简单的命令,它作为一个命令或bash脚本独立工作,但当我把它放在crontab中时
40 05 * * * bash /root/scripts/direct.sh >> /root/cron.log
Run Code Online (Sandbox Code Playgroud)
有以下行
PATH=$PATH:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
SHELL=/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin:/root/
# Mongo Backup
docker exec -it mongodb mongodump -d meteor -o /dump/
Run Code Online (Sandbox Code Playgroud)
我试图改变脚本的网址,/usr/bin/scirpts/没有运气
我甚至试图直接在cron中运行脚本
26 08 * * * docker exec -it mongodb mongodump -d meteor -o /dump/ >> /root/cron.log
Run Code Online (Sandbox Code Playgroud)
没有运气,任何帮助表示赞赏.
编辑
我也没有在/root/cron.log文件中看到任何错误
假设我的应用程序有一个某种项目列表,用户可以在列表中插入新项目.
Meteor通常做的是:当用户在列表中插入项目时,它会立即显示在浏览器中,而无需等待服务器确认.
我想要的是:当一个项目处于此状态(已提交但尚未被服务器确认)时,它将显示在列表中的正确位置,但显示为灰色.
有没有办法让Meteor这样做?
在Meteor 0.5.8中引入了以下变化:
在不受信任的代码中调用更新和删除集合函数可能不再使用任意选择器.从客户端调用这些函数时,必须指定单个文档ID(方法存根中除外).
所以,现在如果要从客户端控制台向数据库推送任意更新,则必须执行以下操作:
People.update({_id:People.findOne({name:'Bob'})['_id']}, {$set:{lastName:'Johns'}});
Run Code Online (Sandbox Code Playgroud)
代替:
People.update({name:'Bob'}, {$set:{lastName:'Johns'}});
Run Code Online (Sandbox Code Playgroud)
我认为通过将Meteor.Collection.allow和.deny函数与autopublish和insecure软件包一起设置来控制此安全问题.我喜欢能够通过Chrome JavaScript控制台与数据库进行交互.
Meteor 0.5.8变化的动机是什么?
我正在使用流星0.6.4.
Meteor.methods({
random: function(top){
var random = Math.floor((Math.random()*(top+1)));
return random;
}
});
Run Code Online (Sandbox Code Playgroud)
每当我执行时它返回undefined
Meteor.call('random', 10);
Run Code Online (Sandbox Code Playgroud)
我有什么想法可以超越这个?
在示例应用程序的源代码,我观察包括http://thejackalofjavascript.com/meteor-js-build-apps-lightning-fast/和https://www.meteor.com/examples/wordplay前者使用的Meteor.Collection()和后者使用Mongo.Collection()来定义它们的集合.两者之间有什么区别,用例的区别是什么?
从0.9.3开始,我遇到了meteor包依赖的一些问题,例如某些第三方包没有声明它们的所有依赖关系(如下划线,通常包含但不包含在另一个包中).
是否有一种简单的方法来显示依赖树,就像npm一样?
流星列表将显示您项目中的内容
.meteor/versions将显示所有包,但我试图找出包含(或不包括)其他包的内容.
目前我收到如下错误,但没有包括Minimongoid afaik和grepping没有找到它的参考.
W20141001-19:19:46.137(-7)? (STDERR) /Users/dc/.meteor/packages/meteor-tool/.1.0.33.he3qxx++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/fibers/future.js:173
W20141001-19:19:46.137(-7)? (STDERR) throw(ex);
W20141001-19:19:46.138(-7)? (STDERR) ^
W20141001-19:19:46.141(-7)? (STDERR) ReferenceError: Minimongoid is not defined
W20141001-19:19:46.141(-7)? (STDERR) at collections/user.coffee:1:20
W20141001-19:19:46.141(-7)? (STDERR) at /Users/dc/dev/shumi/package-dev/app/.meteor/local/build/programs/server/app/collections/user.coffee.js:24:3
W20141001-19:19:46.142(-7)? (STDERR) at /Users/dc/dev/shumi/package-dev/app/.meteor/local/build/programs/server/boot.js:168:10
W20141001-19:19:46.142(-7)? (STDERR) at Array.forEach (native)
W20141001-19:19:46.142(-7)? (STDERR) at Function._.each._.forEach (/Users/dc/.meteor/packages/meteor-tool/.1.0.33.he3qxx++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/underscore/underscore.js:79:11)
W20141001-19:19:46.142(-7)? (STDERR) at /Users/dc/dev/shumi/package-dev/app/.meteor/local/build/programs/server/boot.js:82:5
Run Code Online (Sandbox Code Playgroud) 我有一个基于JavaScript的库,我想在Meteor JS应用程序中包含它.库源代码托管在Git存储库中,我想将repo作为子模块包含在我自己的Meteor应用程序的源代码库中.但是,我不需要Meteor处理的大部分文件,只需要几个选择的文件.事实上Meteor barfs的"错误:无法解析..嗯..某些HTML文件,在某些行上.抱歉"当它看到子模块中的许多文件时.
有没有办法选择将文件列入白名单或黑名单,以便包含在项目目录中的Meteor应用程序中?除了创建智能包之外,还有哪些方法可以在我的Meteor应用程序项目目录中包含外部资源,例如Git子模块.
更新:如相关问题"如何创建包"中所述,如果您在Meteor本地的Git签出中创建智能包,则会获得包中代码的热重载行为.