2016-10-13 3 views
0

Я пытаюсь использовать meteor-admin. Я установил все и открыл ссылку localhost:PORT/admin. После этого я вставил этот код в root/client/admin.js и root/server/entry.js:Как использовать meteor-admin

AdminConfig = { 
    adminEmails: [' [email protected]'], 
    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: {} 
    } 
}; 

ответ

0

Вам нужно удалить пакет autopublish из вашего приложения.

meteor remove autopublish 

Чтобы решить другую проблему, вам необходимо также определить свою коллекцию сообщений.

Error: Posts is not in the

+0

Это не работает. Я удалил модуль автоматической публикации, но теперь приложение не запускается. Он просто застрял в «запуске вашего приложения». –

0

в случае, если у вас есть свои собственные сообщения Collection попробовать что-то вроде

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 
    } 
}; 
Смежные вопросы