使用Jscex改进Node Club(1):运行Node Club网站
2012-02-20 14:24 by 老赵, 6269 visits一直想做个相对完整的项目来演示下Jscex的使用,可惜缺少创意和精力,一直没能实现。前几天看到Node Club将其网站开源了,不禁让我十分欢喜。Node Club网站是个真实案例,复杂度适中,既是Jscex的典型使用场景,又能避开我不擅长的网页样式设计和制作,简直是一个再合适不过的基础样板了。周末我大致看了下代码,也试着将几个部分使用Jscex改进了一下,效果也十分显著,于是打算写作一个系列指引,希望可以对Jscex类库的推广有所帮助。在此第一篇,自然是最基本的环境建设开始说起。
配置系统环境
首先,我强烈建议您可以在GitHub上Fork一下Node Club网站的项目,有个版本管理环境做后盾,做什么都会放心许多。我也将所有修改存放在GitHub上,其master分支是我个人不断改进的版本,您可以时刻关注其最新发展。除此之外,我还创建了一个tutorial分支,专门为这个系列文章存放代码,保持两者进度一致,同时尽量将修改过程和版本提交对应起来。
要运行Node Code,首先您得安装必要的环境:
无论您使用的是Windows,Linux还是OS X,以上都有对应的安装方式,在此就不详细描述了。文章中会出现一些控制台脚本,是我在OS X上运行的命令和结果。如果没有特殊说明,则路径是nodeclub项目的根目录。如果你使用的是Windows,则需要进行一些修改,其实最常见的修改就是分割路径的斜线还有可执行文件的使用。
这里假设您对以上三个工具,最好还包括Git有了一定了解。其实目前也无需十分熟悉,看看官方文档,搜几篇文章瞅瞅,就应该差不多了。
配置Node Club环境
假设您已经下载了Node Club代码(当然最好您是git clone一份自己fork出来项目),并将其解压缩至nodeclub目录中。现在您应该可以使用npm install命令安装所有依赖的包:
$ npm install eventproxy@0.1.0 ./node_modules/eventproxy ejs@0.5.0 ./node_modules/ejs validator@0.3.7 ./node_modules/validator node-markdown@0.1.0 ./node_modules/node-markdown mongoose@2.4.1 ./node_modules/mongoose ├── colors@0.5.1 ├── hooks@0.1.9 └── mongodb@0.9.7-1.4 express@2.5.1 ./node_modules/express ├── mime@1.2.5 ├── qs@0.4.2 ├── mkdirp@0.0.7 └── connect@1.8.5 nodemailer@0.3.1 ./node_modules/nodemailer ├── mailcomposer@0.1.4 (mimelib-noiconv@0.1.6) └── simplesmtp@0.1.12
要运行网站,则还需要准备一份配置文件。您可以将config.default.js复制一份至config.js文件,并建议修改一下一些配置:
exports.config = { // 网站端口号,默认为80,可能会有冲突,建议改成其他值 port: 8080, // 发系统邮件时使用的用户名 mail_user: 'xxxxx@gmail.com', // 发系统邮件时使用的密码 mail_pass: 'xxxxx', // SMTP服务器地址 mail_host: 'smtp.gmail.com', // 系统邮件发信人 mail_sender: 'xxxxx@gmail.com', // 根据需求配置是否验证 mail_use_authentication: true, };
其中大部分的设置是在配置系统邮件的SMTP服务器,您可以像我一样使用Gmail,或是跟Node Club原项目一样使用126的邮箱。
运行Node Club网站
要运行Node Club网站,则需要启动MongoDB数据库,例如:
mongodb-osx-x86_64-2.0.2/bin$ mkdir data mongodb-osx-x86_64-2.0.2/bin$ ./mongodb --dbpath data
此时您就在本地启动了一个MongoDB进程,使用默认端口27017,这与网站的默认配置相符。此时您就可以执行app.js来启动网站:
$ node app.js NodeClub listening on port 8080 in development mode God bless love....
在浏览器里访问http://127.0.0.1:8080,您应该就能看到一个空白的Node Club站点:
此时您可以点击右上角的“注册”链接,注册一个名为admin的用户,部分操作(例如标签管理)需要使用该账号才能进行。注册时会要求填一个邮箱,提交后会收到一封激活邮件,但其中的链接可能不能直接访问(遗漏了端口号,应该是个bug),您可以将其地址复制到浏览器里修改并访问。激活成功后便可登录,登陆后会进入空白的后台页面:
至此万事俱备,任何时候您想重启Node Club网站,只需ctrl+c中断node app.js命令再重新运行即可。从下一篇文章开始,我们将正式开始Jscex之旅。
相关文章
- 使用Jscex改进Node Club(1):运行Node Club网站
占个沙发先,感谢老赵。正在学习 Jscex,并准备用它提高项目代码的各种性。