Meteor全栈开发平台 - 不仅仅是前端

Node.js-meteor现在是一个工具让您用一个命令立即部署Meteor应用程 meteor现在是一个工具,让您用一个命令立即部署Meteor应用程 立即下载

全栈开发平台 - 不仅仅是前端

Meteor和那些名声如雷贯耳的前端框架,比如Angular, React等都不一样,它是一个 采用单一开发语言的全栈开发的平台:开发者可以使用JavaScript同时 进行前端和后端的开发,然后交给Meteor运行这个包含了前后端的完整应用:
tupian1
从图中你可以看到,Meteo在前端使用浏览器作为基础运行环境,在后端则是以NodeJS作为 基础运行环境,以MongoDB作为数据持久化系统。
Meteor提供了一个横跨前端和后端的中间层平台,预置封装了很多功能库,简化了 Web应用的开发:使用单一语言快速开发Web应用,这是Meteor的最重要诉求。

初识Meteor

从构成来讲,可以认为Meteor开发平台由两部分构成:

Meteor库 - 以功能包的形式存在,封装了诸如实时通信、反应式编程之类的核心功能。当 一个Meteor应用启动时,Meteor会自动加载这些库,为应用提供了一个基础环境。

Meteor工具 - 可以理解为命令行方式的开发环境,它使我们可以轻松地管理整个应用 开发流程:从创建应用、调试应用、自动化测试到打包、部署、热升级。

现在,让我们让我们使用Meteor命令行工具meteor创建并启动第一个Meteor应用吧。

≡ 创建应用 —— meteor create [project]

在终端中输入meteor create test,然后按回车:

~$ meteor create test↵

这个命令将在当前目录下创建一个子文件夹test,Meteor将使用内置的应用模板 作为这个文件夹的内容。我们可以进入test文件夹,执行ls命令查看一下内容:

~$ cd test↵
~/test$ ls -al↵

你可以看到Meteor创建了3个文件和1个目录。

你可以看到Meteor创建了3个文件和1个目录。

test.css - 前端的样式表文件
test.html -前端的HTML文件
test.js - 前端/后端共用的JavaScript文件。全栈,对吧O(∩_∩)O~
.meteor - 这个子目录是Meteor应用必须的特殊子目录,由Meteor平台维护,我们不要动
先略过3个文件的具体内容,我们运行起来看看。

≡ 运行应用 —— meteor run

执行meteor命令启动应用,在终端中输入meteor,这等价于运行meteor run:

~/test$ meteor↵

当你看到终端中出现下面的提示信息:

...
App running at: http://localhost:3000/

恭喜!我们的第一个Meteor应用已经运行起来了!

≡ 停止应用运行 —— Ctrl+C
用鼠标左键点击一下终端区域,确保它获得键盘输入焦点(你应该可以看到一个 闪烁的光标),然后同时按Ctrl键和C键,即可停止应用运行:

^C
~/test$

≡ 复位应用数据 —— meteor reset

Meteor应用运行时会生成打包文件、创建应用数据库。可以使用下面命令 清理这些生成的文件和应用数据:

~/test$ meteor rest↵

meteor reset命令不影响你的源代码文件。

模板文件 - test.html

打开test.html,你可能会略有不适:

tupian2

它不是一个标准的HTML文件:没有html顶层标签,奇怪的符号{{> hello}}… 不过,在Metoer中这样的文件却是合法的文件 —— 模板文件。

≡ 模板顶层标签 —— head/body/template

Meteor规定,在一个模板文件里,只能出现三种顶层标签:head、body和template。 也就是说,模板文件只能包含以这三种标签为顶层标签的HTML片段。

这是因为,Meteor在运行应用之前有一个打包/bundle的过程,此时Meteor会提取所有 模板文件(一个应用中可以有多个模板文件)中的head、body和template片段,分别进行 合并、编译后才呈现给用户:

tupian3

上图中,a.html和b.html中的head片段合并后作为最终的head内容,b.html和c.html中 的body片段合并后作为最终的body内容,至于c.html中的template的内容,则最终替换了 b.html中的{{> hello}}。

≡ 模板语言 —— Spacebars

Meteor的模板使用的语言是私有的spacebars语言,它基于流行的handlebars,通过 在HTML片段中嵌入模板标签(以两对大括号为边界)实现模板化。因此,Meteor的模板 其实就是HTML标签和模板标签的混合体。

{{> hello}}模板标签用来调用一个子模板,Meteor将在最终呈现给用户的HTML文档中, 使用子模板hello的内容进行原地替换。

特殊的template标签用来定义一个子模板。

{{counter}}模板标签执行插值工作,Meteror将在最终呈现给用户的HTML文档中,使用 标识符counter对应的值进行原地替换。

样式文件 - test.css

和模板文件类似,Meteor在打包过程中,会将所有的样式文件合并成一个大的样式文件, 然后在呈现给用户的HTML文档中引用这个样式文件:
tupian4
上图中,a.css和b.css的内容将被合并为一个文件,并在最终呈现给用户的HTML文档中, 使用link标签引用这个文件。

代码文件 - test.js

test.js是最有趣的文件,Meteor将在前端和后端同时运行这个文件。可以这样理解:

  • 前端 - Meteor将在最终呈现给用户的HTML文档中使用script标签引用test.js
  • 后端 - Meteor将通过NodeJS读入并运行test.js

毫无疑问,如果不做任何处理,谁也没法保证一段JS代码既可以在前端浏览器环境中运行, 也可以在后端NodeJS中运行。在test.js中,我们需要判断当前的具体运行环境,以便 执行相应的代码。

≡ 判断代码执行环境 —— Meteor.isClient/Meteor.isServer

让同一个js文件即可以跑在前端,也可以跑在后端(比如NodeJS),已经有很多 应用了,只需要判断下在某个特定环境才存在的变量就可以了(比如,NodeJS有global,而 浏览器有window)。Meteor提供了一组更加清晰的API来实现这个判断:

Meteor.isClient - 为真时,表示当前运行环境为前端
Meteor.isServer - 为真时,表示当前运行环境为后端
你可以看到,在test.js中也是这么做的:

//test.js
if(Meteor.isClient){
  //仅在前端执行的代码块
}
if(Meteor.isServer){
  //仅在后端执行的代码块
}

≡ 前后端都执行的代码

很显然,如果在test.js中,不判断执行环境的代码将同时在前端和后端运行。比如:

//test.js
console.log("Hello,Meteor!");
if(Meteor.isClient){...}
if(Meteor.isServer){...}

运行应用后,你将在后台的终端中看到Hello,Meteor!,也将在前台的调试台 中看到相同的输出。

前端代码 - 模板实例对象

回忆下,在模板文件test.html中,我们定义了一个模板:

<!--test.html-->
<template name="hello">
  <button>Click Me</button>
  <p>You've pressed the button {{counter}} times.</p> 
</template>

当Meteor运行这个应用时,将自动创建一个对应的模板实例对象:Template.hello。 对模板的数据绑定和事件绑定,这些通常需要使用JavaScript实现的功能,就通过这 个对象来实现:

tupian5

在hello模板中,{{counter}}模板标签中的标识符couter的值,将由对应模板实例 对象的counter函数返回值决定,这个函数被称为模板的helper函数,使用模板实例的 helpers()方法声明模板标签中标识符对应的helper函数。

而通过模板实例对象的events方法,则为模板中的button元素挂接了click事件监听处理 函数。

前端代码 - 模板标签标识符解析/helper

使用Template.hello.helpers(helpers)方法声明hello模板中模板标签标识符的解析函数。参数helpers是一个JS对象,属性表示应用在模板标签中的标识符,值 通常是一个函数,被称为helper,大致是帮助Meteor解析模板中的标识符的值 这样的意思。

比如,在test.js中我们为hello模板中出现在{{counter}}模板标签中的counter表达 式声明其对应的helper函数:

//test.js
Template.hello.helpers({
  'counter':function(){
    return Session.get('counter');
  }
});

每次当Meteor需要对模板标签{{counter}}进行计算时,都将调用其counter标识符 对应的helper函数进行计算:它简单地返回Session变量counter的当前值。

≡ 为helper函数设定参数

helper函数可以接受参数,比如对于模板test中的displayName标识符:

<template name="test">
  <h1>Hello,{{displayName "Jason" "Mr."}}!</h1>
</template>

声明如下的helper函数:

Template.test.helpers({
  'displayName' : function(name,title){
    return title + ' ' + name;
  }
});

那么Meteor渲染后将获得如下的HTML结果:

<h1>Hello,Mr. Jason!</h1>

≡ 使用常量helper

当然,也可以将helper定义为一个常量:

Template.test.helpers({
  displayName : "Mr. WHOAMI"
})

这时,模板标签{{displayName}}将永远地被设定为固定的值了。

后端代码

在test.js中,后端代码几乎是空的,除了使用Meteor.startup(func)声明 了一个空的初始化函数。

Meteor.startup(func)方法在前端和后端都是可用的。参数func指定了 一个初始化函数,当平台就绪时,将调用这个初始化函数。

当在前端调用这个函数时,平台的就绪意味着DOM已经就绪,这时你可以进行DOM操作了:

//client side
Meteor.startup(function(){
  //jQuery对象在Meteor前端总是可用的
  $("<h1>Hello,world</h1>").appendTo("body");
});

当在后端调用这个函数时,平台的就绪意味着Meteor平台的服务进程已经正常启动,可以 进行应用层级的初始化工作了,比如,为空的后端数据集填充一些数据:

//server side
Meteor.startup(function(){
  var persons = new Mongo.Collection("persons");
  if(persons.find().count() === 0){
    persons.insert({...});
  }
});

应用目录结构

一个Meteor应用由目录下的前端文件(HTML、CSS、脚本、资源文件等)和后端文件组成。 由于Meteor存在一个打包/bundle的阶段,因此,Meteor对应用的目录结构进行了约定, 以便其打包过程能够顺利完成。

默认情况下,Meteor会搜索应用目录(包括子目录)中的所有JavaScript文件,打包后分别 送往前端和后端运行,文件和子目录的名称会影响打包结果。Meteor对以下的子目录将特别处理:

≡ client —— 参与打包的前端代码文件夹

任何名称为client的目录,其文件都不会被送往后端运行。这类似于使用if(Meter.isClient){…} 进行前端代码隔离的效果。

在生产模式下,client目录里的文件将被自动合并、压缩,但在开发模式下,JavaScript 文件和CSS文件并不进行压缩处理(CSS还是会合并,但JavaScript文件不进行合并处理),以便于 开发过程中的调试和错误定位。

Meteor会搜索目录中所有的模板文件中的三个顶层元素:head, body, template,其中所有 的head段会合并,body段和template段的声明都将转换为模板操作的JavaScript代码。

≡ server —— 参与打包的后端代码文件夹

任何名称为server的目录,其文件都不会送往前端运行。这类似于使用if(Meteor.isServer){…} 进行后端代码隔离的效果,但不同的是,server目录内的部分代码不会发送到前端,因此一些敏感的 代码(比如身份验证等)应当放在这个目录。

Meteor会收集除了client, public和private子目录之外的所有JS文件,然后交给后端NodeJS 运行。后端的JavaScript代码对每个请求将使用一个单独的线程来处理,这不同于通常NodeJS的异步 代码模式,因为Meter认为这种模式更适合Meteor应用场景。

≡ public —— 不参与打包的前端资源文件夹

应用根目录下public子目录中的文件仅用于前端,这些文件不会被打包,可视为http访问的虚拟根目录。 例如,public目录下的logo.jpg文件,可以通过url:”/log.jpg”来访问。这个目录可以用来放置favicon.ico, robots.txt,或者一些静态的HTM文件。

≡ client/compatibility —— 不参与打包的前端兼容库目录

有些前端JavaScript库依赖于使用var定义的全局变量。为了兼容这些库,这个目录里的文件在被送 往前端时,不会被嵌套在一个作用域中,并且会在其他前端JavaScript文件之前先执行。

≡ tests —— 仅用于测试的文件夹

任何名为test的目录内的文件仅用于测试,前端和后端都不会使用。

内容小结

让我们简单回顾这个示例Meteor应用的开发过程(假装没有使用meteor工具):

创建模板文件test.html,定义文档结构
创建样式文件test.css,定义文档样式
编写前端脚本test.js,实现模板、数据、事件的绑定
在这个示例中,我们基本不需要编写后端脚本
这些就绪后,扔给Meteor运行就可以了。

这有点像Apache+PHP或者IIS+ASP这些东西,Meteor提供一个基本的运行环境,你往 里面扔一个模板,立马就可以看到效果,你编写一段后端脚本,立马增强了服务器的 能力。那么,Meteor和它们的区别在哪里呢?

≡ 横跨前后端的中间层平台

在前面的课程中,我们看到,前端和后端同时都有一个Meteor对象作为API入口(当然, 前端的Meteor对象和后端的Meteor对象不是完全相同的实现),可以使用Meteor.isClient或 Meteor.isServer判断代码运行环境,可以使用同样的Meteor.startup()方法分别在 前端和后端注入初始化代码。这意味着什么?

让我把最开始的那张示意图中的Meteor层再细化一下:

tupian6

很显然,Meteor最与众不同的是,使用同一套代码,同时在前端和后端提供了应用运行的 基础环境。不得不提的是,Meteor平台在前端基础环境和后端基础环境之间,甚至已经基于 websocket建立了一个双向实时的通道!

免费的互动练习和更多的学习内容在这里(汇智网):http://www.hubwiz.com/class/55b87a7b3ad79a1b05dcc339

02-Cesium-实现天地图标记 首先天地图申请token,然后Cesium-实现天地图标记详细说明 阅读详情

相关推荐

HMC7044芯片模拟SPI配置

摘要: HMC7044是一款高性能双环路整数N分频抖动衰减器,支持SPI接口配置,适用于高速数据转换器时钟系统。该芯片采用双PLL级联架构,具有14路可配置输出,可满足GSM/LTE基站设计需求。SPI接口采用3线模式(SLEN/SCLK/SDATA),支持24位寄存器读写(13位地址+8位数据)。驱动实现基于Zynq EMIO模拟SPI,提供初始化、数据传输及寄存器配置功能,支持三线制工作模式和多种时钟参数设置。

toonyhe的博客 1099

惊艳的基于nodejs的实时Web开发框架Meteor介绍

昨天偶然发现了Meteor这个web开发框架,我接触过的各种语言的Web开发框架大概有十几个了,这个Meteor框架让我感到震惊,和其他的框架太不一样了(包括一些同样基于nodejs的框架如express等的,基于Python的新框架Flask,Tornado等)。       Meteor是一个基于nodejs和mongodb数据库的实时web框架,前后端代码都是基于js开发,并且可以混合

西涛offbye-移动全栈技术博客 7294

similarity network fusion for aggregating data types on a genomic scale

基因组规模上的聚合数据类型的相似性网络融合 摘要:         近期的技术已经使收集不同类型的全基因组数据十分划算,结合这些数据去创建一个给定的疾病或生物过程的一个全面视图的计算方法是有必要的。相似网络融合(SNF:similarity network fusion)通过创建每一个可利用的数据类型的样本(如,患者)的网络可以解决这个问题。例如,创建一个给定一群患者疾病的全面视图,SNF计算

augustar学习笔记 7870

Meteor——以NodeJS为基础环境,MongoDB为数据环境的全栈开发平台!

一、全栈开发平台 - 不仅仅是前端 Meteor和那些名声如雷贯耳的前端框架,比如Angular, React等都不一样,它是一个 采用单一开发语言的全栈开发的平台:开发者可以使用JavaScript同时 进行前端和后端的开发,然后交给Meteor运行这个包含了前后端的完整应用: 从图中你可以看到,Meteor在前端使用浏览器作为基础...

weixin_34242331的博客 349

Buck电路中自举电容串联小电阻的作用

在Buck电路中,自举电容(Cboot)驱动高边MOSFET时,因寄生电感和电容会形成LC谐振回路,导致SW节点高频振铃,引发EMI问题。串联小电阻(Rboot)可引入阻尼效应,抑制振铃、改善波形和EMI性能,但会略微增加开关损耗。设计时建议预留可调电阻位(2Ω~20Ω),根据实测结果平衡效率与系统稳定性,提升电源可靠性。这一措施是优化开关电源EMC的常见实践。

硬核科技 627

飞控芯片的隐形战场:传感器冗余与实时OS的可靠性革命

本文深入探讨飞控芯片在工业级无人机中的可靠性设计,聚焦传感器冗余架构与实时操作系统(RTOS)的容错机制。通过多IMU备份、自适应加权融合算法及NuttX、ChibiOS等RTOS的故障隔离技术,确保系统在极端环境下毫秒级自愈。文章还涵盖开源生态如PX4的跨平台移植及RISC-V架构的应用,为高可靠性飞控系统提供关键技术参考。

z5a6b的博客 877

2023最流行的 Node.js 框架

2023最流行的 Node.js 框架

qq_42880714的博客 4274

手把手教你用GPIO模拟MDIO时序,搞定Linux下那些‘不听话’的PHY芯片

本文详细介绍了如何利用Linux内核的`virtual,mdio-gpio`驱动,通过GPIO模拟MDIO时序来解决特殊PHY芯片的驱动调试问题。从硬件准备、设备树配置到驱动实现,提供了完整的解决方案和实战案例,帮助开发者应对非标准时序的PHY芯片挑战。

weixin_29188043的博客 272

Nodejs 安装笔记

Node JS 安装学习笔记 1、http://nodejs.org/ 下载安装文件 2、nopde

开源控Meteor的博客 1455

手把手教你用scRNA-seq和scTCR-seq分析CD8⁺ T细胞在免疫治疗中的动态变化

本文详细介绍了如何整合单细胞RNA测序(scRNA-seq)与单细胞TCR测序(scTCR-seq)技术,深入解析CD8⁺ T细胞在癌症免疫治疗中的动态变化。通过从数据预处理、细胞亚群鉴定到TCR克隆追踪的完整分析流程,揭示了T细胞的功能状态转变与克隆演化规律,为理解免疫应答机制和开发精准治疗策略提供了关键方法学指导。

p8q9r0的博客 571

深入剖析 YOLOv11 中的 C2PSA 注意力机制

YOLOv11中的C2PSA注意力机制在目标检测领域取得突破性进展。该机制通过跨通道分组交互和轻量级位置编码,在仅增加0.6%计算量的情况下提升mAP 1.5-2.3个百分点。C2PSA创新性地结合局部跨通道交互、位置编码和双分支并行调制,采用纯卷积实现自注意力,避免传统注意力机制的高计算复杂度。实验表明,C2PSA在COCO数据集上以微小计算代价显著提升检测性能,特别是对小目标和遮挡目标效果突出。该模块可直接嵌入YOLO架构,为轻量级目标检测提供新的优化方向。

shrgegrb的博客 3401

在Meteor中调用NodeJS模块或者自己的模块

基于NodeJS的Meteor框架,国内使用的还比较少,遇到问题 很麻烦 难以在国内找到答案,本篇文章通过 http://stackoverflow.com/questions/tagged/meteor 找到资料总结而成。 尊重劳动成果 转载请注明。 在Meteor中,创建一个应用后 ,不能直接应用根目录下 写nodeJS应用中那样的模块。如 新建一个文件interface.js  ex

Keep Moving 3678

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Iron Node与Meteor集成:前端到后端全栈调试方案

想要快速调试Meteor全栈应用吗?Iron Node为你提供了终极解决方案!本文将详细介绍如何将强大的Iron Node调试工具与Meteor框架完美集成,实现从前端到后端的无缝调试体验。 ## 什么是Iron Node调试工具? Iron Node是一个基于Chrome开发者工具的Node.js调试工具,它允许开发者使用熟悉的Chrome DevTools界面来调试Node.js应用程序。

gitblog_00960的博客 1141

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

全栈开发平台----Meteor入门介绍。

写这篇文章是希望有个引子,让大家了解一下Meteor的一些入门的知识,希望能多提意见相互交流。一、全栈开发平台 - 不仅仅是前端Meteor和那些名声如雷贯耳的前端框架,比如Angular, React等都不一样,它是一个 采用单一开发语言的全栈开发的平台:开发者可以使用JavaScript同时 进行前端和后端的开发,然后交给Meteor运行这个包含了前后端的完整应用:从图中你可以看到,Meteo...

geek0123的博客 441

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Meteor Base项目完全指南:快速构建现代全栈应用的终极起点

Meteor Base项目是一个为Meteor应用打造的高效起点,旨在帮助开发者快速搭建现代全栈应用。无论是新手还是有经验的开发者,都能通过这个项目模板轻松开启Meteor开发之旅,省去繁琐的初始配置工作,专注于核心业务逻辑的实现。 ## 为什么选择Meteor Base作为项目起点? Meteor Base作为Meteor应用的启动模板,具有诸多优势。它提供了一套完整的项目结构,让开发者无需

gitblog_00269的博客 863

前端的全栈混合之路Meteor篇:关于前后端分离及与各框架的对比

前后端分离是一种将应用程序的前端(用户界面)和后端(业务逻辑和数据处理)解耦的架构设计,虽然有不少公司号称前后端开发,但实际上却是通过接口将前后端耦合在一起,graphql试图改善,但或许我们可通过有限的共享来加快开发,简化一些额外的工作。

分享有趣的、贴近生活的CS知识 2172

前端的全栈混合之路Meteor篇:容器化开发环境下的meteor工程架构解析

使用docker compose插件运行容器,对于本地开发来说是更轻便的选择。本文主要是详细的介绍了使用docker创建meteor项目的准备工作和步骤,并解析了基于容器化的meteor项目架构,介绍了一下最佳实践。

分享有趣的、贴近生活的CS知识 1783

meteor 结合mysql_流星撞击全栈之《Meteor实战》

广义的Web全栈,一般包含后端开发、前端开发、界面设计、产品设计、数据库、各种移动客户端开发等等,狭义的Web全栈则至少包含后端开发、前端开发、数据库。全栈的难度在于要求你掌握前后端的多种技能、可能要学会多种语言,比如大家都很熟悉的典型全栈概念LAMP(Linux+Apache+Mysql/MariaDB+PHP/Python/Perl),前端要用Javascript自不必说,后端或用PHP、或...

weixin_34522296的博客 298

​Meteor:全栈JavaScript开发框架的先驱

Meteor 是一个功能强大且易用的全栈 JavaScript 框架,它简化了现代 Web 应用的开发流程,从数据库到用户界面都可以通过一套统一的技术栈来实现。开发者可以选择使用 React、Vue 或原生的 Blaze 作为前端框架,与 MongoDB 进行数据交互时,也可以使用 Meteor 提供的方便的 Minimongo 客户端数据库。Meteor 不仅支持 Web 应用的开发,还可以通过与 Cordova 集成,轻松构建 iOS 和 Android 的移动应用,成为一个真正的跨平台开发工具。

weixin_55010563的博客 701

Meteor全栈JavaScript框架深度解析:构建实时应用的终极利器

Meteor全栈JavaScript框架深度解析:构建实时应用的终极利器 【免费下载链接】meteor Meteor, the JavaScript App Platform 项目地址: https://gitcode.com/g...

gitblog_00036的博客 753

Meteor:快到飞起来的全栈JavaScript开发平台

小编说:“meteor”这个单词的意思是“流星”,流星的特点是快,一闪而过;同样,Meteor作为一个开源的全栈JavaScript开发平台,特点就是快,目标是为开发者提供一个快速开发的平台。 本文选自《Meteor全栈开发》一书,将向您介绍Meteor为何如此之快! Meteor是什么Meteor是一个开源的全栈JavaScript开发平台,构建在 Node.js和 MongoDB 之上。全...

博文视点(北京)官方博客 957
下一篇: Vue.js 2 渐进式前端框架 的最佳学习方法
落叶无声9
博客等级 码龄12年 443粉丝 343原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值