如何使用meteor-admin

时间:2016-10-13 14:24:10

标签: javascript meteor adminlte

我正在尝试使用meteor-admin。我安装了所有内容并打开了链接localhost:PORT/admin。之后,我将此代码粘贴到root/client/admin.jsroot/server/entry.js

AdminConfig = {
    adminEmails: [' ben@code2create.com'],
    collections:
    {
        Posts: {},
        Comments: {}
    }
} 

我还尝试在root/中为客户端和服务器创建一个全局文件。问题是客户端文件有效,但在You need to be an admin to view this page页面上提供了行localhost:PORT/admin。当我在root/server中添加所需代码时,出现此错误:

=> Exited with code: 1
I20161013-19:43:24.308(5.5)? ** You've set up some data subscriptions with Meteor.publish(), but
I20161013-19:43:24.308(5.5)? ** you still have autopublish turned on. Because autopublish is still
I20161013-19:43:24.309(5.5)? ** on, your Meteor.publish() calls won't have much effect. All data
I20161013-19:43:24.309(5.5)? ** will still be sent to all clients.
I20161013-19:43:24.309(5.5)? **
I20161013-19:43:24.309(5.5)? ** Turn off autopublish by removing the autopublish package:
I20161013-19:43:24.309(5.5)? **
I20161013-19:43:24.309(5.5)? **   $ meteor remove autopublish
I20161013-19:43:24.310(5.5)? **
I20161013-19:43:24.310(5.5)? ** .. and make sure you have Meteor.publish() and Meteor.subscribe() calls
I20161013-19:43:24.310(5.5)? ** for each collection that you want clients to see.
I20161013-19:43:24.310(5.5)? 
W20161013-19:43:24.553(5.5)? (STDERR) /home/cortana/.meteor/packages/meteor-tool/.1.4.1_2.354htk++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:280
W20161013-19:43:24.553(5.5)? (STDERR)                       throw(ex);
W20161013-19:43:24.554(5.5)? (STDERR)                       ^
W20161013-19:43:24.554(5.5)? (STDERR) 
W20161013-19:43:24.554(5.5)? (STDERR) Error: Posts is not in the [object global]
W20161013-19:43:24.554(5.5)? (STDERR)     at Assets.lookup (packages/yogiben_admin/lib/both/utils.coffee:22:14)
W20161013-19:43:24.554(5.5)? (STDERR)     at Assets.adminCollectionObject (packages/yogiben_admin/lib/both/utils.coffee:5:3)
W20161013-19:43:24.554(5.5)? (STDERR)     at packages/yogiben_admin/lib/both/startup.coffee:63:16
W20161013-19:43:24.555(5.5)? (STDERR)     at Function._.each._.forEach (packages/underscore/underscore.js:113:1)
W20161013-19:43:24.555(5.5)? (STDERR)     at adminCreateTables (packages/yogiben_admin/lib/both/startup.coffee:36:4)
W20161013-19:43:24.555(5.5)? (STDERR)     at packages/yogiben_admin/lib/both/startup.coffee:166:2
W20161013-19:43:24.555(5.5)? (STDERR)     at /home/cortana/Desktop/deeplibrary/.meteor/local/build/programs/server/boot.js:299:5
=> Exited with code: 1
I20161013-19:43:27.957(5.5)? ** You've set up some data subscriptions with Meteor.publish(), but
I20161013-19:43:27.957(5.5)? ** you still have autopublish turned on. Because autopublish is still
I20161013-19:43:27.959(5.5)? ** on, your Meteor.publish() calls won't have much effect. All data
I20161013-19:43:27.960(5.5)? ** will still be sent to all clients.
I20161013-19:43:27.960(5.5)? **
I20161013-19:43:27.960(5.5)? ** Turn off autopublish by removing the autopublish package:
I20161013-19:43:27.960(5.5)? **
I20161013-19:43:27.960(5.5)? **   $ meteor remove autopublish
I20161013-19:43:27.961(5.5)? **
I20161013-19:43:27.961(5.5)? ** .. and make sure you have Meteor.publish() and Meteor.subscribe() calls
I20161013-19:43:27.961(5.5)? ** for each collection that you want clients to see.
I20161013-19:43:27.961(5.5)? 
W20161013-19:43:28.246(5.5)? (STDERR) /home/cortana/.meteor/packages/meteor-tool/.1.4.1_2.354htk++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:280
W20161013-19:43:28.246(5.5)? (STDERR)                       throw(ex);
W20161013-19:43:28.246(5.5)? (STDERR)                       ^
W20161013-19:43:28.246(5.5)? (STDERR) 
W20161013-19:43:28.247(5.5)? (STDERR) Error: Posts is not in the [object global]
W20161013-19:43:28.247(5.5)? (STDERR)     at Assets.lookup (packages/yogiben_admin/lib/both/utils.coffee:22:14)
W20161013-19:43:28.247(5.5)? (STDERR)     at Assets.adminCollectionObject (packages/yogiben_admin/lib/both/utils.coffee:5:3)
W20161013-19:43:28.247(5.5)? (STDERR)     at packages/yogiben_admin/lib/both/startup.coffee:63:16
W20161013-19:43:28.247(5.5)? (STDERR)     at Function._.each._.forEach (packages/underscore/underscore.js:113:1)
W20161013-19:43:28.247(5.5)? (STDERR)     at adminCreateTables (packages/yogiben_admin/lib/both/startup.coffee:36:4)
W20161013-19:43:28.247(5.5)? (STDERR)     at packages/yogiben_admin/lib/both/startup.coffee:166:2
W20161013-19:43:28.248(5.5)? (STDERR)     at /home/cortana/Desktop/deeplibrary/.meteor/local/build/programs/server/boot.js:299:5
=> Exited with code: 1
=> Your application is crashing. Waiting for file change.

我该怎么做才能删除此错误?为什么这个错误在这里? PS:

我也为root/server尝试了此代码并遇到了同样的错误:

AdminConfig = {
   roles: ['admin'],
   collections: {
     Posts: {}
   }
 };

2 个答案:

答案 0 :(得分:0)

如果您有自己的帖子集,请尝试

import { Posts } from '../imports/api/posts/posts.js'; // or wherever your Posts collection is defined
AdminConfig = {
   roles: ['admin'],
   collections: {
     Posts: { collectionObject: Posts} // tell about collectionObject
   }
 };

答案 1 :(得分:-1)

您需要从应用中删除自动发布包。

meteor remove autopublish

您还需要定义帖子集合以解决另一个问题。

  

错误:帖子不在