我想在jquery.center.jsMeteor应用程序中添加一个JavaScript前端插件.
如果我把它放在我的app/目录中并刷新页面,我会收到此错误:
你的应用程序崩溃了.这是最新的日志.
node.js:201
throw e; // process.nextTick错误,或第一次勾选时出现'error'事件
^
ReferenceError:jQuery未定义
在app/jquery.center.js:43:1
atUsers/crapthings/Desktop /app/ .meteor/local/build /server/server.js:111:21
在Function的Array.forEach(native)
.(
/Users/crapthings/Desktop/app/.meteor/local/build/server/underscore.js:76:11)/Users/crapthings/Desktop/app/.meteor/local/build/server/server.js: 97:7
退出代码:1
您的应用程序崩溃了.等待文件更改.
您将如何使用Meteor创建一个安静的Web服务.我想在Appcelerator中创建挂钩到同一后端的应用程序.
Meteor可以解决这个问题吗?
有一些服务(如FB like或AddThis)提供了一段代码.看起来像
<div class="service-name" data-something="x"></div>
<script type="text/javascript" src="http://service-domain.com/service-name.js"></script>
Run Code Online (Sandbox Code Playgroud)
好的,很酷,所以通常你把它粘贴到你的HTML上就行了.不是流星.
这是我看到的:
<script>模板/正文内部没有加载 - 我没有在参考资料中看到它,Meteor中的某些东西实际上是阻止浏览器将其识别为JS文件<head>现在这里是问题和疑问:
<head>- 因为速度而且令人惊讶的是你不能在中使用模板助手/变量<head>.
对于传统的框架,它根本不是一个问题 - 您可以在任何地方包含脚本,只需加载它们; 您可以在服务器模板的任何部分使用逻辑/变量.
那么,我应该如何在Meteor中做到这一点?让我再说一遍:
我知道使用Template.created上的代码(使用LAB.js或其他)加载动态脚本来实现此目的的方法,但这太过分了......
当您使用Meteor框架创建项目时,它会将所有文件打包在一起,但似乎没有办法明确说"我希望在该文件之前加载此文件".
比方说,我有2个javascript文件:foo.js和bar.js.
该文件bar.js实际上包含的代码依赖于一个内部,foo.js但Meteor bar.js之前正在加载foo.js,打破了项目.
require('./bar')insidefoo.js<script>指向foo.js之后放置一个标记指向另一个标记bar.js,以便以正确的顺序加载文件.我们怎么能在Meteor中做到这一点?
我刚刚观看了meteor.js的截屏视频,在实时更新和数据库同步方面,看起来很容易构建一个Web应用程序.但是,我不确定它一旦生存就会有多好.
如果我决定构建和部署在meteor.js上编写的Web应用程序,我可以遇到哪些问题(潜在的或真实的)?
要查看(生产)数据库中的内容blah.meteor.com我认为我们会这样做:
meteor mongo --url http://blah.meteor.com/
Run Code Online (Sandbox Code Playgroud)
但我获得了一个URI:
mongodb://client:984dae4c-04fb-c8bb-68f6-ed83602435cc@skybreak.member1.mongolayer.com:27017/blah_meteor_com
Run Code Online (Sandbox Code Playgroud)
我如何使用此URI访问数据库?
我遇到了模板上下文的情况,我很难找到解决方法.
这是有问题的模板:
{{#each votes}}
<h3>{{question}}</h3>
<ul>
{{#each participants}}
<li>
<p>{{email}}</p>
<select name="option-select">
{{#each ../options}}
<option value="{{option}}" class="{{is_selected_option}}">{{option}}</option>
{{/each}}
</select>
</li>
{{/each}}
</ul>
</div>
{{/each}}
Run Code Online (Sandbox Code Playgroud)
这是一个投票文件的例子:
{
_id: '32093ufsdj90j234',
question: 'What is the best food of all time?'
options: [
'Pizza',
'Tacos',
'Salad',
'Thai'
],
participants: [
{
id: '2f537a74-3ce0-47b3-80fc-97a4189b2c15'
vote: 0
},
{
id: '8bffafa7-8736-4c4b-968e-82900b82c266'
vote: 1
}
]
}
Run Code Online (Sandbox Code Playgroud)
这就是问题......
当模板进入#eachfor参与者时,它不再具有对vote上下文的访问权限,因此无法访问每个投票的可用选项.
我可以稍微解决这个问题,通过使用../options车把路径跳回到父上下文,但这并不影响模板辅助的情况下,所以this在Template.vote.is_selected_option指当前participant,而不是当前的vote或option …
好的,这是twitter API,
http://search.twitter.com/search.atom?q=perkytweets
Run Code Online (Sandbox Code Playgroud)
任何人都可以给我任何关于如何使用Meteor调用此API或链接的提示
更新::
这是我尝试的代码,但它没有显示任何响应
if (Meteor.isClient) {
Template.hello.greeting = function () {
return "Welcome to HelloWorld";
};
Template.hello.events({
'click input' : function () {
checkTwitter();
}
});
Meteor.methods({checkTwitter: function () {
this.unblock();
var result = Meteor.http.call("GET", "http://search.twitter.com/search.atom?q=perkytweets");
alert(result.statusCode);
}});
}
if (Meteor.isServer) {
Meteor.startup(function () {
});
}
Run Code Online (Sandbox Code Playgroud) 我们正在构建一个网络应用程序,将在比赛期间用于投票选手并在中央显示器上显示实时投票统计数据.
比赛将持续15分钟,大约4000名用户将在这段时间内连接到网络应用程序并发送投票,但每个用户设备都是唯一的.
我们正在考虑使用Meteor.js开发这样的Web应用程序.但是,由于我们在为大量并发用户和Meteor.js的beta状态开发服务方面经验不足,我们对该项目的实际可行性存在一些担忧.
以下是我们要解决的问题:
votes.find({}),其余用户将只看到vote/ already voted按钮.从真实案例或测试场景中获取一些数据对我们有很大帮助.
Meteor的基础设施能够处理4000个用户吗?或者我们应该去寻找这个已删除问题中列出的其他托管解决方案(您需要10k + rep才能看到它)?
是否有任何特定于Meteor.js的性能考虑因素我们应该注意什么?
我们已经看过类似的帖子,但是他们都没有在如此短的时间内处理如此大量的用户:
此外,我们可以使用Cluster智能包.有人有这方面的经验吗?
meteor ×10
javascript ×7
node.js ×2
api ×1
database ×1
dependencies ×1
json ×1
mongodb ×1
npm ×1
production ×1
require ×1
rest ×1
scalability ×1
twitter ×1