首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
PowerPC
» 使用 Meteor 构建一个响应式的销售图应用程序
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
使用 Meteor 构建一个响应式的销售图应用程序
发短消息
加为好友
look_w
当前离线
UID
1066743
帖子
8283
精华
0
积分
4142
阅读权限
90
在线时间
233 小时
注册时间
2017-6-23
最后登录
2019-5-18
论坛元老
UID
1066743
1
#
打印
字体大小:
t
T
look_w
发表于 2018-1-20 21:02
|
只看该作者
使用 Meteor 构建一个响应式的销售图应用程序
步骤 1. 分析现有应用程序单击本文的
Run the app
按钮,尝试与销售图应用程序进行交互:
打开一个桌面或手机浏览器的多个实例,并将它们都指向应用程序
选择并单击(或敲击)标准的任意销售图,修改编号,然后单击
OK
进行更新。通过观察您会发现,所有应用程序实例中的表和饼图都被更新了。
尝试从另一个浏览器实例或移动设备更新销售图。
如果其他读者和您在同时试用这个应用程序,那么您还会看到他们的更新。
步骤 2. 创建项目代码
单击本文的
Get the code
按钮。
在我在 DevOps Services 上的 meteorsales 项目页面上,单击位于右上方的
EDIT CODE
按钮:
试用您的 IBM ID 和密码登录 DevOps Services。
单击
FORK
创建一个新项目。
部署在 Bluemix 上时,您的应用程序应该与 DevOps Services 项目同名。目前所有 Bluemix 项目都共享一个命名空间,因此您的项目(应用程序)名称必须是独一无二的。
输入一个不同于 meteorsales 的项目名称。您的项目可以是公共项目或私有项目。
检查项目的目录结构:
manifest.yml
:Manifest DevOps Services 用于将应用程序部署到 Bluemix
sales.css
:用于销售图应用程序的 CSS 样式
sales.html
:用于应用程序的 Meteor 模板
sales.js
:应用程序的客户端与服务器端 JavaScript 代码
client/*
— 应用程序使用的插件库
client/css/*
:jQuery 插件库使用的 CSS 样式
Meteor 代码的工作原理使用 Meteor 时,您将使用 JavaScript 编写客户端逻辑和服务器逻辑。这个应用程序的客户端与服务器端代码都位于 sales.js 中。(此外,客户端服务器代码均位于各自的子目录中。)
Meteor 扫描客户端目录(与子目录)中的 CSS 样式文件和 JS 文件,这是它选择 jQuery 插件的方式。对于 HTML 文件,它通常会将所找到文件的 <head> 与 <body> 部分进行合并。
UI 通常使用 Spacebar 构造,它是一个类似于 Handlebars 的 Meteor 特定模板。在 sales.html 中,销售图应用程序的模板代码如下所示。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<head>
<title>Sales by Region</title>
</head>
<body>
<div id="title">
<h1>Global Sales 2014</h1>
</div>
<div id="container">
<div id="salestable">
{{> salesdata}}
</div>
{{> piechart}}
</div>
</body>
<template name="piechart">
<div id="chart">
</div>
</template>
<template name="salesdata">
<div class="salesdata">
{{#each dataset}}
{{> datapoint}}
{{/each}}
</div>
</template>
<template name="datapoint">
<div class="datapoint {{selected}}">
<span id="{{_id}}_region" class="region">{{region}}</span>
<span id="{{_id}}_total" class="sales editable">{{total}}</span>
</div>
</template>
销售图的表是通过 salesdata 模板呈现的,其中包含一个用于每行的 datapoint 模板实例。chart <div> 是 jqPlot 插件呈现饼图的位置。此处创建了 jEditable 插件的一个实例,用于支持销售图的就地编辑(in-place editing)。
只要在 UI 中修改销售图,就会调用 Meteor 的客户端 MongoDB 实现 (mini-mongo) 来更新数字。然后,Meteor 的响应引擎会与服务器端的 MongoDB 实例进行同步。这次修改的内容将被传播给查看相同页面的所有浏览器或移动实例,而 Meteor 引擎会相应地更新本地试图。
惟一的服务器端代码会使用种子数据来初始化 MongoDB 实例:
1
2
3
4
5
6
7
8
9
10
if (Meteor.isServer) {
Meteor.startup(function () {
Sales2013.remove({});
Sales2013.insert({region:"US East", total: 2032333});
Sales2013.insert({region:"US Central", total: 150332});
Sales2013.insert({region:"US West", total: 1202412});
Sales2013.insert({region:"Asia Pacific", total: 701223});
});
}
步骤 3. 将应用程序部署到 Bluemix
单击
DEPLOY AS
并选择
Deploy application from Web IDE to Bluemix
。如果您以前从未从 DevOps Services 部署到 Bluemix,那么请输入您的 Bluemix 用户 ID 和密码。
选择
dev
空间作为目标的 Bluemix 部署空间,然后单击
DEPLOY
:
等待部署时,您会看到页面顶部弹出的状态消息。
最终,您会看到一条失败消息,说明另一应用程序已经在使用名为 meteorsales 的 Bluemix 路由。清单中的应用程序名称(目前为 meteorsales)必须是您自己应用程序的惟一名称。此外,该清单目前指向我在 Bluemix 上的 MongoDB 服务实例,meteorsales 应用程序使用该实例进行存储。您的应用程序不能访问该实例。(您将在步骤 5 中更新清单。)
步骤 4. 创建一个 Bluemix MongoDB 服务实例现在创建您自己的 MongoDB 服务实例,并将它绑定到您的应用程序:
登录 。
向下滚动并单击
Add a service
。
在可用的
Data Management
服务中单击
mongodb
,然后单击
CREATE AND ADD TO APP
。
为
Add to:
选项选择
Do not associate
,然后为服务取一个名字。单击
Create
。
右上角的一条通知简要显示了 MongoDB 新实例的名称。如果您没有看到这条通知,那么可以滚动查看服务实例的列表,从中找到已命名的 MongoDB 实例。
步骤 5. 更新部署清单在 DevOps Services 项目中打开 manifest.yml 文件进行编辑。现在,它与我项目中的 manifest.yml 文件完全相同。
请注意,该清单使用了一个自定义的 buildpack。 基于 ,它专门针对将 Meteor 应用程序部署到 Bluemix 进行了修改。
1
2
3
4
5
6
7
8
9
10
11
applications:
- services:
- mongodb-bf
host: meteorsales
disk: 1024M
name: meteorsales
buildpack:
https://github.com/Sing-Li/heroku-buildpack-meteorite
path: .
domain: ng.Bluemix.net
mem: 1024M
instances: 1
针对您的项目自定义清单:
将 host: 与 name: 设置修改为包含项目的惟一名称。
将服务实例名称修改为您在步骤 4 中创建的 MongoDB 服务名称。
保存修改后的清单(
File
>
Save
)。
步骤 6. 重新部署到 Bluemix
单击
DEPLOY
按钮。过一会,您会看到一条部署状态消息。这次的部署成功了。
在
Manual Deployment Information
区域中,可以看到应用程序名称后面跟着一个大大的圆点。如果这个圆点是绿色的,则表示 Meteor 应用程序正运行在 Bluemix 上,您可以跳过余下的步骤。如果圆点是红色的,单击它,然后单击
Start application
:
红点最终变为绿色,这表示应用程序正在运行。您还将获得应用程序的一个 URL 和指向开发与部署日志的链接。
单击应用程序 URL 可以运行您自己的销售图应用程序。
现在,您可以尝试着修改代码并根据需要重新部署它。
结束语您不再需要一排昂贵的部署工作站和开发服务器来开发运行在桌面浏览器与移动设备上的、高度交互的流数据更新 Web 应用程序。借助新一代的快速开发全堆栈平台,比如 Meteor(您可以将它与 DevOps Services 和 Bluemix 提供的基于云的开发人员工具结合使用),您可以在任何地方使用联网的浏览器来实现自己的创意。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
消费电子
嵌入式技术
便携式设备
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议