实时开发框架Meteor API解读系列<二>Core

非常感谢关注我的Meteor系列博客.本篇博客涉及到的几个主要API是:Meteor.isClient,Meteor.isServer,Meteor.startup,Meteor.absoluteUrl,Meteor.settings,Meteor.release
摘要由CSDN通过智能技术生成

写在前面的话

  1. 本篇博客主要讲述如果Docs API目录下的Core部分。
  2. 此部分比较简单 ,如有可能请尽量阅读官方文档
  3. 本人英语水平有限,肯定存在翻译错误的地方。如有发现,望指出
  4. 转载请注明出处。非常感谢关注我的Meteor系列博客
  5. 本篇博客涉及到的几个主要API是:Meteor.isClient,Meteor.isServer,Meteor.startup,Meteor.absoluteUrl,Meteor.settings,Meteor.release
  6. 本篇博客的Meteor版本是0.6.6.4,这此表明版本号是为了避免由于版本更新带来的 本篇博客的错误性描述。如有可能我会尽量会过头来更新它。
  7. 因为客户端和服务端都是加载的js文件,那么这些API的使用环境到底是客户端还是服务端呢?根据官方的例子。我们把仅能在客户端(也就是浏览器端)能使用的API 描述成Client。仅能在服务器端调用的API描述成Server,既可以在客户端使用,又可以在服务端使用的API描述成Anywhere。

Meteor.isClient,Metoer.isServer –Anywhere

Meteor.client是一个boolean值。作用是判断当前上下文所处的环境是客户端和服务端。如果想知道详细,那么就需要先简单的了解下Meteor的工程目录结构。(可能我会专门用一篇博客来描述它) 
通过

 meteor create API-002-Core

生成的应用目录中,通常包括如下几个部分:(#表示注释)

.meteor/ 
# .meteor文件夹,经meteor编译后的工程文件将生成在这个文件下的某个子目录中,如果在类Unix系统下,如ubuntu 它可能是隐藏的。这个文件夹通常还放有属于当前应用的数据库文件。当然前提是没有修改默认的数据库链接,还有诸如 包管理配置之类的文件等等。这里不做详细说明,毕竟和本篇博客暂时无关

API-002-Core.css 
#css文件 这个文件里面是空白的。只是做个样例而已。

API-002-Core.html
#如果你在创建应用后直接运行meteor,那么它就是显示的内容。

API-002-Core.js
#这个就是实际上的逻辑代码了。 不去暂时不去分析其内容。

现在说明一下Meteor的工作目录是这样划分的,但是在说明之前 做个约定,以免后面造成混淆或错误。 
我们通过 meteor create API-002-Core创建meteor工程后,那么就会有一个API-002-Core的文件夹。从现在起我把这个文件夹的直接子目录,称之为应用根目录,或者简称为更目录,用符号/来表示。 
那么以上面的文件为例,他们的文件位置就是 /.meteor/,/API-002-Core.css /等。如果我在API-002-Core文件夹下创建了一个hello的文件夹。那么该文件用/hello/表示.约定就这些了。

在meteor工程目录中有几个目录是特殊的。它会通过文件夹的名称区别作用,默认创建应有后这些文件夹是不存在的,需要自己创建。具体如下:

/client/

该文件夹下的所有文件都会在浏览器访问应用时加载。换就话说即使客户端加载。它是自动加载的,无法进行控制。至于具体的加载顺序我会在另外一篇博文中讲述。

/server/

这个文件夹下的所有文件都会在meteor启动时在服务端加载。加载顺序另外一篇博文中进行描述。也就是V8虚拟机来加载,类似于一般的node.js文件,它是属于后台的。

/public/

这个文件里面的所有文件只能在浏览器端进行使用,通过文件夹的名称也能够看出来。区别于/client/,这里面的文件不会自动加载。里面主要存放的就是一些资源文件,如图片,css,js插件如jquery之类的等。这些文件需要手动的写引用,来使浏览器进行加载。如写在

<script src=".."></script>
<style href="..."></style>

这里又有一点需要注意,在标签中引用文件时以“/public/“`为相对根目录引用就可以。举例说明。如果存在这样的css文件 
/public/a.css或者/public/css/b.css 
那么他们在引用上这样写即可,不需要带上public路径:

<style href="a.css"></style>
<style href="css/b.css"></style>
/private/

这个文件夹是一个资源文件。用在服务端。一般存放一些配置文件。如json格式的配置文件等。区别于/server/ 这里面的文件不会自动加载。更不会执行。哪怕里面存放了一个js文件,js文件里面声明了全局变量。而不会执行。因为V8引擎根本就没有加载它。这个文件夹下的文件仅是看作二进制的文件而已。你可以读写它。

/packages/

这个文件夹下主要放的是第三方扩展模块。如router之类的扩展。这个里面的文件加载的位置(server或着client)主要看模块内部的定义。这里不做讨论。它配合/.meteor/packages文件使用。


                
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值