【问题标题】:Pub/sub after separating folder for client and server code为客户端和服务器代码分离文件夹后发布/订阅
【发布时间】:2015-12-16 22:52:42
【问题描述】:

这是我当前的应用结构:

/client/client.js
/server/server.js
collection.js

有 HTML 和 CSS 文件,但与我的问题无关。在将我的应用程序拆分为当前结构之前,它运行良好,但它是one big JavaScript file。我的 Meteor.publish 和 Meteor.subscribe 无法正常工作,而且我的帐户 UI 配置错误。

This user had a similar problem,但是我的收藏是在collection.js中定义的

我的 client.js 文件夹包含 Meteor.isClient 中的所有代码,server.js 包含 Meteor.isServer 以及 Meteor.methods 中的所有代码。

Collection.js 只是 Tweets = new Mongo.Collection("tweets");

为什么我的发布和订阅不起作用?不知道有没有关系,但是account ui也配置错误。

【问题讨论】:

    标签: javascript meteor


    【解决方案1】:

    根据流星文档http://docs.meteor.com/#/full/structuringyourapp

    在文件加载顺序部分

    有几个加载顺序规则。它们按顺序应用 到应用程序中的所有适用文件,在给定的优先级 下面:

    1. HTML 模板文件总是在其他所有内容之前加载
    2. 以 main 开头的文件。最后加载
    3. 接下来会加载任何 lib/ 目录中的文件
    4. 接下来会加载路径更深的文件
    5. 然后按整个路径的字母顺序加载文件

    您的 client.js 和 server.js 在 collection.js 之前加载,它们比 collection.js 深一级

    试试这个:

    将 collection.js 移动到 lib/collection.js 中,这样你的文件结构就会像这样

    /client/client.js
    /server/server.js
    /lib/collection.js
    

    【讨论】:

    • 文件加载顺序是我的问题。我没有将 collection.js 移动到 lib/collection.js 中,而是将我的 client.js 和 server.js 重命名为 main.js
    猜你喜欢
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    • 2014-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-01
    • 2013-05-21
    相关资源
    最近更新 更多