首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在windows上使用meteor.js和mongoDB

问在windows上使用meteor.js和mongoDB
EN

Stack Overflow用户
提问于 2017-01-30 03:55:25
回答 1查看 46关注 0票数 0

我正在学习如何使用我的Windows10 PC在meteor.js框架内进行开发的第一步。

在windows中,当创建新应用程序时,系统会为客户端和服务器.js文件创建一个文件夹,其中包含单独的子文件夹。

我的问题是,如果我在server.js文件中定义了一个新的Mongo集合,我如何从client.js文件访问该集合?

EN

回答 1

Stack Overflow用户

发布于 2017-01-30 04:58:32

你所问的是操作系统不可知的。

我想您已经知道,客户端看不到名为" server“的文件夹中的文件,同样,服务器也看不到名为" client”的文件夹中的文件。

Meteor会急切地将这些文件夹之外的文件同时提供给客户端和服务器(除非它位于一个名为"imports“的文件夹中,稍后将对此进行详细介绍)。

因此,如果您的项目设置了名为"client“和"server”的顶层文件夹,则通常会创建一个名为" collections“的文件夹来定义集合。

因此,假设您有一个名为collections/News.js的文件:

代码语言:javascript
复制
News = new Mongo.Collection('news');

当该文件被提供给服务器时,它将在Mongo中创建该集合。当该文件被提供给客户端时,它将在minimongo中创建一个本地集合,并将其与实际集合相关联。在这两种情况下,"News“都是一个可以从任何地方访问的全局变量。

所以这应该回答了你的问题。

更进一步,MDG正在推荐一种新的目录结构。你可以在这里阅读到:https://guide.meteor.com/structure.html

简而言之,他们希望我们转移到一个模型,在这个模型中,文件不是急于加载的,而是由我们的代码显式导入的。在过渡期间,我们需要将文件放入/imports。其中的文件不会立即加载。

使用上面的相同示例,"News“可能存在于它自己的区域中,作为一个模块,存在于一个文件中,如下所示:

imports/api/news/News.js

代码语言:javascript
复制
const News = new Mongo.Collection('news');
export {News};

在这里,文件并不是急于导入的,但是依赖于News的任何代码都必须导入该模块:

代码语言:javascript
复制
import {News} from '/imports/api/news/News';

该导入可以在客户端和服务器代码中工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41925291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档