我很努力讓我的項目與路由一起工作,我想象一些事情是錯誤的。流星項目結構與路由 - 錯誤已經有一個名爲人的集合
當前正在記錄異常
Error: There is already a collection named "person"
at new Mongo.Collection (packages/mongo/collection.js:240:15)
at meteorInstall.collections.persons.js (collections/persons.js:2:23)
at fileEvaluate (packages/modules-runtime.js:197:9)
at require (packages/modules-runtime.js:120:16)
at /home/usr/Dev/simple-todos/.meteor/local/build/programs/server/app/app.js:198:1
at /home/usr/Dev/simple-todos/.meteor/local/build/programs/server/boot.js:303:34
at Array.forEach (native)
at Function._.each._.forEach (/home/usr/.meteor/packages/meteor-tool/.1.4.3_2.7s3fq6++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11)
at /home/usr/Dev/simple-todos/.meteor/local/build/programs/server/boot.js:128:5
at /home/usr/Dev/simple-todos/.meteor/local/build/programs/server/boot.js:352:5
Exited with code: 1
Your application is crashing. Waiting for file change.
以下是我的代碼:
routes.js(lib文件夾中加載,以便它加載第一)
Router.configure({
layoutTemplate: 'layout'
});
Router.route('/', function() {
this.render('personTemplate');
});
主版面模板(作爲整個應用程序的容器)+一個收益容器ct主模板上的路線。
<template name="layout">
<nav class="deep-orange lighen-4" role="navigation">
<div class="nav-wrapper container left">
<ul class="right">
<li><a href="test.html">test</a></li>
<li><a href="/about">about</a></li>
{{> loginButtons}}
<!-- <i class="material-icons" style="font-size:30px;color:grey">person</i> -->
</ul>
<a href="#" class="brand-logo left ">SiteName</a>
</div>
</nav>
{{> yield}}
</template>
person.js(收集定義文件 - 也位於lib文件夾中加載第一)
import {mongo} from 'meteor/mongo';
export const Person = new Mongo.Collection('person');
的personTemplate定義
<template name="personTemplate">
{{#each person}}
{{> todosTest}}
{{/each}}
</template>
<template name="todosTest">
<ul>{{name}}</ul>
</template>
人幫手 - 將執行查找人員收集
import { Template } from 'meteor/templating';
import { Person } from '../../lib/collections/persons.js';
import { ReactiveVar } from 'meteor/reactive-var';
import '../templates/personTemplate.html';
Template.personTemplate.helpers({
person(){
var aPerson = Person.find({});
// check for existence before returning
return aPerson && aPerson.name
}
});
最後我main.js文件來加載集合在服務器上:
import { Meteor } from 'meteor/meteor';
import '../lib/collections/persons.js';
圖形下方顯示的文件夾佈局:
修復了問題 - 但是有一個加載順序錯誤,看起來好像! - – Hightower