对流星有点陌生。应用程序运行良好,并通过dburles播撒数据库:工厂,直到我运行cordova构建和流星添加平台的iOS和安卓,并安装了所有的先决条件。现在我得到了下面的错误。我尝试了流星更新和流星重置,但它没有采取任何补救措施。
=> Exited with code: 8
I20160623-16:15:58.340(-7)? 200
I20160623-16:15:58.341(-7)? 0
I20160623-16:15:58.342(-7)? 0
I20160623-16:15:58.343(-7)? 0
I20160623-16:15:58.344(-7)? 0
I20160623-16:15:58.345(-7)? 0
I20160623-16:15:58.345(-7)? 0
I20160623-16:15:58.346(-7)? 0
I20160623-16:15:58.347(-7)? 0
I20160623-16:15:58.347(-7)? 0
W20160623-16:15:58.395(-7)? (STDERR)
W20160623-16:15:58.396(-7)? (STDERR) /Users/johndow/.meteor/packages/meteor-tool/.1.3.4.zv5a90++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:280
W20160623-16:15:58.396(-7)? (STDERR) throw(ex);
W20160623-16:15:58.396(-7)? (STDERR) ^
W20160623-16:15:58.423(-7)? (STDERR) Error: Factory: There is no factory named builders
W20160623-16:15:58.423(-7)? (STDERR) at Function.Factory.get (packages/dburles:factory/factory.js:29:11)
W20160623-16:15:58.423(-7)? (STDERR) at Function.Factory.build (packages/dburles:factory/factory.js:35:27)
W20160623-16:15:58.423(-7)? (STDERR) at Function.Factory.create (packages/dburles:factory/factory.js:119:23)
W20160623-16:15:58.424(-7)? (STDERR) at app/server/seeds/builders.js:11:15
W20160623-16:15:58.424(-7)? (STDERR) at Function._.times (packages/underscore/underscore.js:1093:1)
W20160623-16:15:58.424(-7)? (STDERR) at [object Object]._.(anonymous function) [as times] (packages/underscore/underscore.js:1149:1)
W20160623-16:15:58.424(-7)? (STDERR) at app/server/seeds/builders.js:10:12
W20160623-16:15:58.425(-7)? (STDERR) at /Users/johndow/Projects/jackpot/.meteor/local/build/programs/server/boot.js:304:5
=> Exited with code: 8
=> Your application is crashing. Waiting for file change.这里是我的javascript文件:控制器builders.js
BuildersController = AppController.extend({
waitOn: function() {
return this.subscribe('builders');
},
data: {
poo: Builders.find({})
},
onAfterAction: function () {
Meta.setTitle('Builders');
}
});
BuildersController.events({
'click [data-action=doSomething]': function (event, template) {
event.preventDefault();
}
});种子builders.js
Meteor.startup(function() {
Factory.define('builder', Builders, {
name: function() { return Fake.sentence(); },
rating: function() { return _.random(1, 5); }
});
if (Builders.find({}).count() < 100) {
Builders.remove({});
_(200).times(function(n) {
Factory.create('builders');
});
}
});出版物builders.js
Meteor.publishComposite("builders", function(limit) {
return {
find: function() {
//set default limit
limit = limit || 30;
return Builders.find({},{limit: limit});;
}
// ,
// children: [
// {
// find: function(item) {
// return [];
// }
// }
// ]
}
});集合
builders.js
Builders = new Mongo.Collection('builders');
Builders.helpers({
});
Builders.before.insert(function (userId, doc) {
doc.createdAt = moment().toDate();
});html
<template name="builders">
<div class="template-builders">
<div class="page-header">
<h1>Builders</h1>
</div>
<h2>{{ pageTitle }}</h2>
<ul class="list-group">
{{#each poo}}
<li class="list-group-item">{{ name }} <span class="label label-default">{{ rating }}</span></li>
{{/each}}
</ul>
</div>
</template>发布于 2016-06-24 03:50:39
在您的app/server/seeds/builders.js中,您定义了一个名为builder (单数)的工厂,但是在定义了一个名为builder的工厂时(第11行),当您使用这个工厂创建对象时,您将它引用为builders (复数)。
这就是错误的意思:
Error: Factory: There is no factory named builders
发布于 2016-07-14 11:49:39
在终端或powershell中运行以下行: meteor add dburles:factory
发布于 2016-07-28 11:18:45
以防万一,您可能想尝试使用Factory.define(...而不是Factory.create(。
https://stackoverflow.com/questions/38003653
复制相似问题