我已经创建了一个 Meteor 1.3 测试应用来展示我面临的问题。它在grido.bvodola.webfactional.com在线。这是一个非常简单的待办事项应用程序。
此应用程序几乎无处不在。除了我测试的某些设备以外,仅限移动版Google Chrome。我测试的版本是50.0.2661.89和47.0.2526.83。
问题是:mongo集合(只是在mlab.com托管的一堆任务)需要很长时间才能加载或根本没有加载。
有没有人经历过这样的事情?发生在这个小应用程序以及我正在为客户开发的其他应用程序中。 我甚至不知道从哪里开始寻找。
任何贡献都会非常有帮助。非常感谢!
应用程序代码(仅供参考):
的客户机/ main.html中
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Grido</title>
</head>
<body>
<ul>
{{ #each task in tasks }}
{{ > taskItem task=task }}
{{ /each }}
</ul>
<form>
<p>Task: <input type="text" class="task-title" name="title"></p>
<p><button type="submit">Add Task</button></p>
</form>
</body>
<template name="taskItem">
<li>{{ task.title }} <a href="#" class="delete-task">×</a></li>
</template>
的客户机/ main.js
import { Template } from 'meteor/templating';
import { ReactiveVar } from 'meteor/reactive-var';
import { Tasks} from '../imports/api/tasks';
import './main.html';
Template.body.helpers({
'tasks': function() {
return Tasks.find();
}
});
Template.body.events({
'submit form': function(event) {
event.preventDefault();
Tasks.insert({
title: $(".task-title").val()
}, function(e,id) {
if(!e)
console.log(id);
else
console.log(e);
});
$(".task-title").val('');
}
});
Template.taskItem.events({
'click .delete-task': function(event) {
event.preventDefault();
Tasks.remove(this.task._id);
}
});
进口/ API / tasks.js
import { Mongo } from 'meteor/mongo';
export const Tasks = new Mongo.Collection('tasks');
服务器/ main.js
import { Meteor } from 'meteor/meteor';
import '../imports/api/tasks';
Meteor.startup(() => {
// code to run on server at startup
});