转向做全职前端差不多一年的时间了,其中学习了构建工具grunt,gulp,angularjs,coffeescript,less,sass,自己想要做全栈开发,所以自学了mongodb,nodejs,express后端开发。

这个博客是对前段时间的学习做一个总结,整理需求,架构,开发,测试,部署大概花了一个半月的时间,代码水平是入门级别。

线上地址:http://www.ivqblog.com/

项目源码:https://github.com/TerryChenUI/ivqBlog

系统环境和部署

环境版本:

  1. NodeJS:v0.12.2

  2. Express:4.0

  3. MongoDB:3.04

  4. bower:1.72

  5. gulp:3.9

安装:

  1. MongoDB官网下载后,修改ivqBlog\scripts\mongodb目录下的配置项,安装MongoDB服务并启动。

  2. 创建ivqBlog数据库,创建users数据表,并且导入ivqBlog\db\users.json数据,账号和密码都为admin。

  3. webui和www目录下执行npm run prebuild安装相关包。(若相关的包安装失败,请将它删掉再重新安装。gulp-sass总是安装失败,有解决办法请指教)

启动:

在webui目录下执行gulp命令即可启动项目。

项目架构

本项目采用前后端开发分离的方式。根据gulp任务配置,会将webui编译到www目录下,分为开发版本和产品版本。

组件开发,模块包含模板html,sass样式,js脚本,单元测试spec,自动化测试等。

任务配置

具体可查看build相关配置。

dev:

  1. copy

  2. 编译sass文件为css

  3. 编译模板文件html为angularjs模块

  4. 动态为index.html,admin/index.html,admin/login.html 注入css文件,js文件

prod:

  1. copy

  2. 编译sass文件为css

  3. 合并并压缩css和js

  4. 编译模板文件html为angularjs模块

  5. 动态为index.html,admin/index.html,admin/login.html 注入css文件,js文件

default:

  1. dev

  2. nodemon启动express

  3. watch sass,html,js文件

  4. browser-sync,设置proxy端口与express的保持一致,自动打开浏览器

debug:

  1. dev

  2. watch sass,html,js文件

  3. browser-sync,设置proxy端口与express的保持一致,自动打开浏览器

身份验证

nodejs使用jwt-simple生成token输出到客户端,根据这个token作身份验证,相关使用请查看以下链接。

http://www.sitepoint.com/using-json-web-tokens-node-js/

https://www.npmjs.com/package/jwt-simple

https://cnodejs.org/topic/53c652bfc9507b404446ee40

调试

使用webstrom调试nodejs,如下图配置,执行gulp debug即可调试。

ivqBlog 开源博客 (angularjs + express + mongodb)的更多相关文章

  1. 基于Node.js的ghost开源博客平台

    Ghost 是一套基于Node.js 构建的开源博客平台(Open source blogging platform),具有易用的书写界面和体验. 1.安装node windows 下安装npm:ht ...

  2. 《开源博客Q群》和《NET上海Q群》入群须知

    开源博客Q群 群名:<嗨-博客> 群号:469075305(已满) 491585006(New) 群简介:“我们每个猿都有一个搭建自己独立博客的梦”. 入群要求: 您可以是HR,私聊管理员 ...

  3. Java 开源博客——B3log Solo 0.6.6 正式版公布了!

    Java 开源博客 -- B3log Solo 0.6.6 正式版公布了!欢迎大家下载. 该版本号引入了数据库连接池:Druid. 另外,欢迎观摩 B3log 团队的新项目:Noty,也很欢迎大家參与 ...

  4. Java 开源博客——B3log Solo 0.6.7 正式版公布了!

    Java 开源博客 -- B3log Solo 0.6.7 正式版公布了!欢迎大家下载. 另外,欢迎观摩 B3log 团队的新项目:Wide,也很欢迎大家參与进来 :-) 特性 基于标签的文章分类 P ...

  5. Java 开源博客——B3log Solo 0.6.1 正式版发布了!

    Java 开源博客 —— B3LOG Solo 0.6.1 正式版发布了!欢迎大家下载. 该版本主要是改善细节体验,并加入了一款 Metro 风格的皮肤. 特性 基于标签的文章分类 Ping Goog ...

  6. Java开源博客My-Blog(SpringBoot+Docker)系列文章

    My Blog 1.Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦 2.My-Blog搭建过程:如何让一个网站从零到可以上线访问 3.将数据的初始化放到 ...

  7. Java 开源博客 Solo 1.9.0 发布 - 新皮肤

    这个版本主要是改进了评论模版机制,让大家更方便皮肤制作,并发布了一款新皮肤:9IPHP. Solo 是一款一个命令就能搭建好的 Java 开源博客系统,并内置了 15+ 套精心制作的皮肤.除此之外,S ...

  8. Go 开源博客平台 Pipe 1.0.0 发布!

    这是 Pipe 博客平台的第一个正式版,欢迎大家使用和反馈建议! 简介 Pipe 是一款小而美的开源博客平台,通过黑客派账号登录即可使用. 动机 产品层面: 市面上缺乏支持多独立博客的平台级系统 实现 ...

  9. Java 开源博客 Solo 2.5.0 发布

    Java 开源博客 Solo 2.5.0 发布 Solo 是一款一个命令就能搭建好的 Java 开源博客系统,如果你想开个独立博客,请一定不要错过! 2.5.0 版本主要支持了 Markdown/JS ...

随机推荐

  1. nginx做反向代理并防盗链

    nginx做反向代理真的非常简单,只需设置location+proxy_pass即可. 防盗链配置有些复杂,需要注意的地方: 在防盗链的location中需要再设置一下proxy_pass(在这里走了 ...

  2. Hadoop:Windows 7 32 Bit 编译与运行

    所需工具 1.Windows 7 32 Bit OS(你懂的) 2.Apache Hadoop 2.2.0-bin(hadoop-2.2.0.tar.gz) 3.Apache Hadoop 2.2.0 ...

  3. 一页纸商业计划书 (Business Plan) 模板(转载)

    本文转载自:https://blog.eood.cn/business-plan 假如你也有一个 idea ,但是还处于想法阶段,这个商业计划书模板能够帮你理清思路. 这个一页 BP 模板简单实用,分 ...

  4. 收缩SQL Server日志不是那么简单的(翻译)

    原文地址:http://rusanu.com/2012/07/27/how-to-shrink-the-sql-server-log/ 说明:本文为了更好的说明收缩的过程,在原文翻译的基础上增加了一些 ...

  5. JAXB玩转命名空间

    声明:如果你正在发愁xml命名空间及其前缀问题,那么请继续,否则请跳过 本文讲解使用jaxb结合dom4j的XMLFilterImpl过滤器实现序列化和反序列化的完全控制 主要实现以下功能 序列化及反 ...

  6. [RabbitMQ] AMQP close-reason, initiated by Library, code=541

    RabbitMQ.Client.Exceptions.BrokerUnreachableException: None of the specified endpoints were reachabl ...

  7. LEA指令

    格    式:LEA OPRD1,OPRD2 功    能:将有效地址传送到指定的的寄存器 OPRD1 为目的操作数,可为任意一个16位的通用寄存器. OPRD2 为源操作数,可为变量名.标号或地址表 ...

  8. 往linux上传、下载

    http://skypegnu1.blog.51cto.com/8991766/1538371

  9. [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)

    最近在使用Python爬取网页内容时,总是遇到JS临时加载.动态获取网页信息的困难.例如爬取CSDN下载资源评论.搜狐图片中的“原图”等,此时尝试学习Phantomjs和CasperJS来解决这个问题 ...

  10. Linux初学 - 安装及网络配置

    安装版本 CentOS-6.4 虚拟机  vmware workstation 12 配置 网络配置 检查网络设置是否成功 如果网络配置文件检查没有问题,配置完成后网络仍然ping不同 1.检查虚拟机 ...