官方文档中已经介绍了基本部署和丰富的例子,而且很多网页也提交了关于 clouda 意义和作用的相关文章。所以本篇博客中的主要重点在于介绍博主在安装、使用、部署 clouda 中遇到的一些问题及解决办法,希望对大家有所帮助。
点击 INSTALL 按钮,提示“无法打开下载的安装包”。所以还是从 download 下载比较好
2. DOWNLOAD 的文件不能安装直接下载 node.exe,就一个文件而已,发现下载的那个安装包只有1M,而实际的大小应该是有 5M,所以,应该是下载的文件错误。重新下载,确保文件大小正确后,再次安装即可。
不知道是什么原因,官方 mongodb 网址的打开速度好慢好慢。我下载使用的是 32 位的 mongodb-win32-i386-2.4.8 也是等待了好久才下载下来的。本想传到 CSDN 资源中的,由于文件太大了不能上传,那读者自己慢慢下吧,可能晚上的时候速度稍微好一些。
2. 配置环境变量将程序路径(例如:F:\Program Files\mongodb-win32-i386-2.4.8\bin) 加入到 path 目录,然后在某个盘符的根目录下创建如下路径 /data/db (例如 f:/data/db)。注意一定要在根目录下,而不是指当前路径下。
3. 启动 mongodb服务器打开命令行窗口,进入上一步创建 data 文件夹的盘符,执行 mongod,启动服务器。
如果需要连接数据库,那么再打开一个新的命令行窗口,执行 mongo 即可
http://cloudajs.org/docs/step1_getting_started
在上述官网地址有详细的步骤描述,这里主要介绍编程中遇到的想法及问题解决办法。第一感觉是访问创建的示例页面时有些小卡,或许是因为 debug 的缘故吧…
1. 访问地址 localhost:8080/debug.html/itworks,后面传递参数“itworks”代表什么意思呢?通过查看文件夹目录,debug.html 文件位于 myproject/app 目录下,在从后来的示例中了解到:itworks 代表 sumeru.router 中添加的链接。
2. 类似 extjs 的目录管理方式突然发现这里的 js 使用方式和 extjs 的项目管理路径方式很类似,因为 extjs 的目录管理结构也是 app 文件夹中建立了各种类。
3. 不能找到控制器错误信息:"error when pubsub callback on line 84 Can NOT find a controller [null]" 忘记将 controller/package.js 中的文件替换成 'helloworld.js' 了。
无需重新启动服务器,随时修改文件,随时就可以看到效果,很不错。
http://cloudajs.org/docs/step2_your_first_app
首先看到错误信息中包含了 'itworks.js' 文件,所以怀疑是 controller/package.js 中信息没有修改正确,发现文件中我是这样写的:
sumeru.packages(// 'itworks.js''hall.js')
删掉 "// 'itworks.js'" 这一行就可以了。看来 nodejs 不支持 "//" 这样 的注释方式呀。
2. 浏览器可以打开网页,但是从控制台中看到如下信息:error when pubsub callback on line 84 Can NOT find a controller [null]演示地址写成 http://localhost:8080/ 正确写法应该是:http://localhost:8080/debug.html/hall
那么怎么关联到按钮上的点击事件的呢?
在 controller/hall.js 定义的 env.onready 函数中:
Library.touch.on('.messageSubmit', 'touchstart', submitMessage);
那么发现是根据元素的样式名进行绑定的。所以,我尝试在添加一个提交按钮:刷新后页面没有发生改变
因为,每一次修改都需要重启服务器,所以刚才的修改没有生效,重启服务器就可以了。
通过 env 的定义消息通知量,以及 env 订阅消息。
在 publish 中定义了 module.exports
在 subscribe 定义了注册消息的步骤。
所有操作的核心在于 session.messages,不管是 add, save destroy 均是以这个对象为准。
好厉害,这样就实现了一个聊天室,真的在这个浏览器发送信息,另外一个浏览器就自动刷新了最新信息。好棒!
能够很方便地把现在开发的项目立刻部署到外网,确实是一个很吸引人的地方。可实际操作过程中,并不是那么容易。http://developer.baidu.com/
写个人简介,发送手机注册,邮箱链接确认注册,就成功了。
申请了,需要等待一周的结果,所以,本来打算先本地来开发一个项目,但是有些无从下手。找到了官方文档中的技术支持栏目,加入了 QQ 群,就发现了如下通过论坛来开通账号部署功能的方式。
当时笔者申请的时候,还是公测时期,现在已经不是公测了,不知道能否用这种方式来开通账号。
论坛开通地址位于:http://forum.cloudajs.org/forum.php?mod=viewthread&tid=16开通原则是每天下午5点左右统一开通,挺快捷的。
依次参照 http://cloudajs.org/docs/upload_to_BAE_3.0 说明一步一步部署。
我比较喜欢用 git,在创建版本库的时候就选择 git。
刚开始使用的命令行来提交,但是尽管已经执行了远程 push 的命令,但是没有在 BAE 管理器中“发布最新版”的按钮依然不可以。可能是 git 命令行的命令写错了,如下所示,如果有读者知道原因,请在留言中告知,谢谢。
git push https://git.duapp.com/appidl0tf8e104p master
这里是用 git 界面提交版本的详细流程http://developer.baidu.com/wiki/index.php?title=docs/cplat/bae/start#GIT.E6.96.B9.E5.BC.8F
无法通过 Windows Installer 服务安装此安装程序包。您需要安装带有更新版本的 Windows Installer 服务的 Windows Service Pack
http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=8483
下载新的更新补丁然后重启之后再次安装 tortoisegit 就 ok 了。
嘿嘿,注意安装完上面的版本后,安装下语言包哦,不然界面是全英文的。
不知道是不是因为 BAE 关闭了公测的原因,反正现在是不能提交更新了。
Total 804 (delta 52), reused 0 (delta 0)fatal: The remote end hung up unexpectedlyfatal: recursion detected in die handlererror: RPC failed; result=22, HTTP code = 411Everything up-to-date
handlebars 使用了模版,只要你定义一个模版,提供一个json对象,handlebars 就能吧json对象放到你定的模版中。关于详细视图页面中的标签语言介绍文档如下:
就是将数组中的信息循环列举出来
<ul class="peoplelist">{{#each people}}<li>{{this}}</li>{{/each}}</ul>
{people: ["Yehuda Katz","Alan Johnson","Charles Jolley"]}