2

这是一个 package.js 文件

Package.describe({
  summary: 'Client Collection Paging Class designed for use with Meteor'
});

Package.on_use(function (api) {
    api.use( 'underscore', [ 'client', 'server' ] ) ;
    api.use( 'ejson', [ 'client', 'server' ] ) ;
    api.add_files( 'lib/pageMan.js',  'client' ) ;
    //api.add_files( 'lib/pageMan_publish.js', 'server' ) ;
    //api.add_files( 'lib/pageMan_method.js', [ 'client', 'server' ] ) ;

    if ( typeof api.export !== 'undefined' ) {
        api.use( 'webapp', 'server' ) ;
        Npm.depends( { connect: '2.7.10' } ) ;
        api.export( 'Pager', 'client' ) ;
      //api.export( 'methods', [ 'client', 'server' ] ) ;   
      //api.export('publish', 'server' ) ;
        api.export( 'pagingUpdate', 'client' ) ;
        api.export( 'pagingSubscribe', 'client' ) ;
        api.export( 'pagingFirst', 'client' ) ;
        api.export( 'pagingNext', 'client' ) ;
        api.export( 'pagingPrev', 'client' ) ;
        api.export( 'pagingLast', 'client' ) ;

    } ;
      });

我在 /lib/pageMan_method.js 中有一个 Meteor.methods,在 /lib/pageMan_publish.js 中有一个 Meteor.publish 如果这两个文件中的代码放在示例应用程序的适当文件中,则应用程序可以正常工作。我正在尝试将它们添加到我的包中,但是当我取消注释 packages.js 文件中的 4 个引用时,服务器控制台会报告

Object #<Object> has no method 'publish'  or  Object #<Object> has no method 'method'

我确实尝试过,api.use('meteor', ['client','server']但也没有快乐。

如果有人可以请赐教我...

  • 是否可以从包中导出出版物和方法;
  • 我可以正确地做到这一点。
4

1 回答 1

2

确保使用 livedata 包。

api.use( 'livedata', [ 'server' ] ) ;

通常,这些软件包可以访问非常准系统的流星版本。(绝对没有包裹)。

于 2013-11-14T20:45:56.843 回答