Meteor 一个用于构建现代 Web 应用程序的超简单环境

Meteor 一个用于构建现代 Web 应用程序的超简单环境

2022-12-22 0 1,085
资源编号 50135 最近更新 2022-12-22
¥ 0人民币 升级VIP
立即下载 注意事项
下载不了?请联系网站客服提交链接错误!
增值服务: 安装指导 环境配置 二次开发 模板修改 源码安装

本期推荐的Meteor 是一个用于开发现代 Web 和移动应用程序的全栈 JavaScript 平台

Meteor 一个用于构建现代 Web 应用程序的超简单环境

Meteor 是一个用于开发现代 Web 和移动应用程序的全栈 JavaScript 平台。Meteor 包括一组用于构建连接客户端反应式应用程序的关键技术、一个构建工具以及一组来自 Node.js 和一般 JavaScript 社区的精选包。

Meteor特性

  • Meteor 允许您在所有环境中使用一种语言JavaScript 进行开发:应用程序服务器、Web 浏览器和移动设备。
  • Meteor 使用网络上的数据,这意味着服务器发送数据,而不是 HTML,然后客户端呈现它。
  • Meteor拥抱生态系统,以谨慎和深思熟虑的方式为您带来极其活跃的 JavaScript 社区中最好的部分。
  • Meteor 提供全栈响应性,让您的 UI 以最少的开发工作无缝反映世界的真实状态。

安装

先决条件和有用信息

  • 如果您使用的是 Mac M1(Arm64 版本),则需要安装 Rosetta 2,因为 Meteor 使用它来运行 MongoDB。在此处查看如何安装
  • Meteor 适用于 Node.js 版本 >= 10 和 <= 14,对于 Windows,您需要安装 Node.js 才能运行 npm 安装程序(提示:您可以使用nvm来管理节点版本)。
  • Meteor 支持 Windows 7/Windows Server 2008 R2 及更高版本。
  • 禁用防病毒软件(Windows Defender 等)将提高性能。
  • 为了兼容性,Linux 二进制文件是用 CentOS 6.4 i386/amd64 构建的。
  • iOS 开发需要最新的 Xcode。

从您的终端运行以下命令之一安装最新的官方 Meteor 版本。

对于 Linux 和 OS X:

curl https://install.meteor.com/ | sh

对于 Windows(需要 Node.js):

npm install -g meteor

故障排除

如果您的用户没有安装全局二进制文件的权限,而您需要使用 sudo,则需要在上述命令后附加–unsafe-perm :

sudo npm install -g meteor --unsafe-perm

我们强烈反对使用具有 root 权限的 Node.js 或 Meteor。如果您知道自己在做什么,请仅使用 sudo 运行上述命令。

路径管理

默认情况下,Meteor 安装程序将其安装路径(默认情况下,~/.meteor/)添加到您的 PATH 中,方法是根据需要更新您的.bashrc、.bash_profile或.zshrc。要禁用此行为,请运行以下命令安装 Meteor:

npm install -g meteor --ignore-meteor-setup-exec-path

(或通过设置环境变量
npm_config_ignore_meteor_setup_exec_path=true)

Apple M1 上的旧版本

对于 Apple M1 计算机,如果您需要运行旧版本的 Meteor(2.5.1 之前),您可以附加 Rosetta 前缀如下:

arch -x86_64 npm install -g meteor

或在 Applications 文件夹中选择 Terminal,按 CMD(⌘)+I 并选中“Open using Rosetta”选项。

在 Docker 中运行 Meteor

您还可以使用 Docker 容器在 CI 甚至本地开发工具链中运行 Meteor。

我们确实提供了基于 meteor/meteor-base ubuntu 的 Docker 映像,它与 Node.JS 和 Meteor 预先捆绑在一起,并以本地用户(而不是 root)身份运行。

卸载流星

如果您使用 npm 安装 Meteor,则可以通过运行以下命令将其删除: meteor-installer uninstall

如果您使用 curl 安装 Meteor,则可以通过运行以下命令将其删除: rm -rf ~/.meteor sudo rm /usr/local/bin/meteor

Meteor 的基于密码的帐户 API 的文档。

该accounts-password软件包包含一个完整的基于密码的身份验证系统。除了基本的基于用户名和密码的登录过程外,它还支持基于电子邮件的登录,包括地址验证和密码恢复电子邮件。

Meteor 服务器使用 bcrypt算法存储密码。如果服务器的数据库遭到破坏,这有助于防止令人尴尬的密码泄露。

要为您的应用程序添加密码支持,请在终端中运行以下命令:

meteor add accounts-password

在客户端,此函数在成功完成后以新创建的用户身份登录。在服务器上,它返回新创建的用户 ID。

在客户端上,您必须传递password至少一个username或email- 足够的信息,以便用户稍后能够再次登录。如果现有用户的用户名或电子邮件仅大小写不同,createUser则会失败。回调error.reason将是’Username already exists.’或’Email already exists.’在后一种情况下,用户可以登录或重置他们的密码。

在服务器上,您不需要指定password,但用户在获得密码之前将无法登录(例如,使用 设置Accounts.setPassword)。要在服务器上创建一个没有密码的帐户并仍然让用户选择自己的密码,请createUser使用email选项调用,然后调用
Accounts.sendEnrollmentEmail. 这将向用户发送一封电子邮件,其中包含设置初始密码的链接。

HTTP

HTTP在客户端和服务器上提供 HTTP 请求 API。要使用这些功能,请通过在终端中运行将 HTTP 包添加到您的项目中:

meteor add http

在服务器上,此函数可以同步或异步运行。如果省略回调,它将同步运行,并在请求成功完成后返回结果。如果请求不成功,则会引发错误。这在从 Meteor 方法中进行服务器到服务器的 HTTP API 调用时很有用,因为该方法可以根据同步 HTTP 调用的结果成功或失败。在这种情况下,请考虑使用 this.unblock()允许同一连接上的其他方法同时运行。

在客户端,此函数必须通过传递回调来异步使用。请注意,某些浏览器OPTIONS在发送您的请求之前首先发送请求(以 确定 CORS 标头)。

支持 HTTP 和 HTTPS 协议。参数必须是一个绝对 URL,包括服务器上的url协议和主机名,但可以相对于客户端上的当前主机。该query选项替换 的查询字符串url。在 URL 中指定的参数params 将附加到任何查询字符串。例如,使用urlof’/path?query’和 paramsof { foo: ‘bar’ },最终 URL 将是’/path?query&foo=bar’。

Meteor.methods({
  checkTwitter(userId) {
    check(userId, String);
    this.unblock();

    try {
      const result = HTTP.call('GET', 'http://api.twitter.com/xyz', {
        params: { user: userId }
      });

      return true;
    } catch (e) {
      // Got a network error, timeout, or HTTP error in the 400 or 500 range.
      return false;
    }
  }
});

异步 HTTP 调用示例:

HTTP.call('POST', 'http://api.twitter.com/xyz', {
  data: { some: 'json', stuff: 1 }
}, (error, result) => {
  if (!error) {
    Session.set('twizzled', true);
  }
});

日志记录

该logging软件包为您提供了一种标准化的方式来记录和在控制台中显示来自应用程序的各种消息。额外的好处是,它会向您显示触发日志的位置以及其他数据,这在调试期间有助于快速定位消息的来源。

从安装包开始:

meteor add logging

然后,您可以在代码中的任何位置导入该实用程序,如下所示:

import { Log } from 'meteor/logging'

然后,您可以通过以下方式之一调用日志记录函数:

Log('starting up') // or Log.info('starting up')
Log.error('error message')
Log.warn('warning')
Log.debug('this will show only in development')

除了传入字符串之外,您还可以传入对象。这几乎没有例外和相关的特殊功能。首先在对象的根目录中不允许使用以下键:

'time', 'timeInexact', 'level', 'file', 'line', 'program', 'originApp', 'satellite', 'stderr'

另一方面,还有message和app,它们也是保留的,但它们会以更突出的方式显示:

Log.info({message: 'warning', app: 'DESKTOP', error: { property1: 'foo', property2: 'bar', property3: { foo: 'bar' }} })

将变成:

E20200519-17:57:41.655(9) [DESKTOP] (main.js:36) warning {"error":{"property1":"foo","property2":"bar","property3":{"foo":"bar"}}}

每个日志的显示是彩色编码的。信息是blue,警告是magenta,调试是green,错误是red。

—END—

开源协议:MIT License

资源下载此资源为免费资源立即下载

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

七爪网 免费源码 Meteor 一个用于构建现代 Web 应用程序的超简单环境 https://www.7claw.com/50135.html

分享免费的开源源码

常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、七爪会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、七爪无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在七爪上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于七爪介入快速处理。
查看详情
  • 1、七爪作为第三方中介平台,依据交易合同(商品描述、交易前商定的内容)来保障交易的安全及买卖双方的权益; 2、非平台线上交易的项目,出现任何后果均与互站无关;无论卖家以何理由要求线下交易的,请联系管理举报。
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务