返回介绍

Environment

发布于 2019-10-19 04:14:25 字数 2725 浏览 836 评论 0 收藏 0

Environment

Meteor.isClient

Anywhere

Boolean variable. True if running in client environment.

Meteor.isServer

Anywhere

Boolean variable. True if running in server environment.

Meteor.isServer可以用来限制代码的运行位置,但是它不会阻止代码发送到客户端。任何你不想发送到客户端的敏感代码,例如包含密码或是认证机制的代码,都应该放到server文件夹。

Meteor.startup(func)

Anywhere

Run code when a client or a server starts.

Arguments

func Function

A function to run on startup.

在服务端,只要服务进程启动完成,回调函数就会执行。在客户端,只要页面ready,回调函数就会执行。

最佳实践是:把模板事件,模板Helper,Meteor.methods, Meteor.publish, 或是 Meteor.subscribe 之外的代码包裹进 Meteor.startup,这样APP的代码就不会在环境准备好之前运行。

例如:当服务端启动时,如果数据库为空则创建一些初始数据,可以用下面的方式:

if (Meteor.isServer) {
  Meteor.startup(function () {
    if (Rooms.find().count() === 0) {
      Rooms.insert({name: "Initial room"});
    }
  });
}

如果在服务端进程启动完成之后,或是客户端,页面ready之后调用Meteor.startup,回调函数会立即执行。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文