Javascript 在windows上使用meteor.js和mongoDB
我正在学习如何使用我的Windows 10 PC在meteor.js框架内进行开发的第一步 在windows中,创建新应用程序时,系统会创建一个文件夹,其中包含 客户端和服务器.js文件的单独子文件夹Javascript 在windows上使用meteor.js和mongoDB,javascript,mongodb,meteor,Javascript,Mongodb,Meteor,我正在学习如何使用我的Windows 10 PC在meteor.js框架内进行开发的第一步 在windows中,创建新应用程序时,系统会创建一个文件夹,其中包含 客户端和服务器.js文件的单独子文件夹 我的问题是,如果我在server.js文件中定义了一个新的Mongo集合,我如何从client.js文件访问该集合?您所问的是操作系统不可知 我想您已经知道,客户端看不到名为“server”的文件夹中的文件,同样,名为“client”的文件夹中的文件也看不到服务器 Meteor将急切地将这些文件夹
我的问题是,如果我在server.js文件中定义了一个新的Mongo集合,我如何从client.js文件访问该集合?您所问的是操作系统不可知 我想您已经知道,客户端看不到名为“server”的文件夹中的文件,同样,名为“client”的文件夹中的文件也看不到服务器 Meteor将急切地将这些文件夹之外的文件同时提供给客户端和服务器(除非它位于名为“imports”的文件夹中,稍后会详细介绍) 因此,如果您的项目设置了名为“客户机”和“服务器”的顶级文件夹,则通常会创建一个名为“集合”的文件夹(也在顶级)来定义集合 假设您有一个名为collections/News.js的文件:
News = new Mongo.Collection('news');
当该文件被提供给服务器时,它将在Mongo中创建该集合。当该文件被提供给客户机时,它将在minimongo中创建一个本地集合,并将其与真实集合相关联。在这两种情况下,“新闻”都是一个全局变量,您可以从任何地方访问
这应该能回答你的问题
进一步说,千年发展目标正在建议一种新的目录结构。您可以在此处阅读:
简言之,他们希望我们转向一个模型,在这个模型中,文件不是急切地加载的,而是由我们的代码显式地导入的。在过渡期间,我们要将文件放入/imports。那里的文件不是很容易加载的
使用上面相同的示例,“新闻”可能会作为一个模块存在于它自己的区域中,在如下文件中:
导入/api/news/news.js
const News = new Mongo.Collection('news');
export {News};
在这里,文件并不急于导入,但任何依赖于新闻的代码都必须导入该模块:
import {News} from '/imports/api/news/News';
该导入将在客户端和服务器代码中工作