NLifeBill第一章项目搭建

NLifeBill这个项目是我自己独立开发的一个项目,之前这个项目叫LifeBill(生活账单),项目地址是:https://github.com/Dn9x/LifeBill这个项目是去年开始去年就已经开始使用了,主要是记录我家里的每天生活消费的费用,用了几个月之后发现最初的分类不完整,而且也想添加一些功能和晚上报表功能,就想着重构,之前的LifeBill是用Asp.net MVC3开发的,从2012年就一直喜欢nodejs所以这次重构的时候就想着全部用nodejs吧,所以名字我就添加了一个N在前面。

NLifeBill这个项目的相关文章主要记录下我的开发过程,一方面提升下写博客的能力,比较从自己的博客关闭之后就很少写了,一方面以后还可以回头看看。整个项目的地址:https://github.com/Dn9x/NLifeBill,我基本上是每天提交一次,周末的时候我可能会有事就没有提交。

 

阅读目录:

  1.环境介绍
  2.项目搭建
  3.前端介绍
     4.数据库介绍
  5.项目提交

 

环境介绍

开发环境:Win7

数据库:MySQL5.5

语言平台:NodeJS

开发框架:Express

 

项目搭建

项目是使用nodejs开发,不该这么说,因为nodejs是平台,不是语言。框架使用的是Express,这个框架是MVC框架,在Nodejs中特别的火,刚好我也算有点了解所以就使用这个。

Express安装使用还是很简单的,nodejs安装好之后,直接在命令行执行:

1 npm install -g express

npm是nodejs的包管理器,现有的版本在安装nodejs就会自动安装了,-g表示全局安装express,这也是为了使用方便。

在你的需要创建项目的盘符下使用命令:

 1 E:\StudySpace\GitHub>express -e NLifeBill
 2 
 3    create : NLifeBill
 4    create : NLifeBill/package.json
 5    create : NLifeBill/app.js
 6    create : NLifeBill/public
 7    create : NLifeBill/public/javascripts
 8    create : NLifeBill/public/images
 9    create : NLifeBill/public/stylesheets
10    create : NLifeBill/public/stylesheets/style.css
11    create : NLifeBill/routes
12    create : NLifeBill/routes/index.js
13    create : NLifeBill/routes/user.js
14    create : NLifeBill/views
15    create : NLifeBill/views/index.ejs
16 
17    install dependencies:
18      $ cd NLifeBill&& npm install
19 
20    run the app:
21      $ node app

上面的-e表示是模板引擎使用的是ejs。在命令行下 进入NLifeBill下面输入npm install,上面的命令行第18行就已经说明了,就会自动安装所需要的库。这里我提前修改了我的package.json,这个文件记录项目信息和所需要的相关的库:

{
  "name": "nlifebill",
  "description": "my life bill",
  "version": "0.0.2",
  "author": {
    "name": "Dn9x",
    "email": "xiuxu123@live.cn"
  },
  "private": true,
  "scripts": {
    "start": "node app.js"
  },
  "dependencies": {
    "express": "3.4.8",
    "ejs": "*",
    "connect-flash": "*",
    "mysql": "2.0.1",
    "redis": "0.10.0"
  }
}

npm install之后就可以直接运行项目了,node app就可以了。项目默认会在3000端口启动。

 

前端介绍

因为这次我的前端的数据处理我没有打算使用ejs作为模板引擎,应该说也用了,但是前端主要使用的是angularjs,所以这次在记录这个项目的时候我也会同时记录有关angularjs的使用心得,我会放在另外的文章里面介绍。既然要是angularjs,那么项目就要调整下。

把所有的视图文件的后缀都改成.html,因为默认是使用ejs模板,那么后缀默认的都是.ejs。修改方式是修改项目下的app.js文件,修改如下:

1 --之前是这样的一句代码
2 app.set('view engine', 'ejs');
3 
4 --把上面这句代码替换成这样:
5 app.set('view engine', 'html');
6 app.engine('.html', require('ejs').__express);

这里要提下,新的express在修改了模板后缀之后,引入视图文件就要加后缀了,我用的express是3.4.8,至少这个版本的要加,比如:

1 //我的index视图文件要引入header.html文件
2 <%- include header.html %>

这里我使用angualrjs版本是1.2.13,之前使用的是1.0.7的,后来切换到最新版本还出了点问题,这里建议使用最新的,功能也新增了很多。

至于UI方面我使用的是Bootstrap3.0.3。以前的时候都是使用国产的渴切。后来发现都差不多,所以也尝试下bootstrap。

 

数据库介绍

数据库我使用的是mysql5.5,总共就四张表,

master主档表,
detail明细档表,
user用户表,
tags分类表

因为整个系统是自己家里人使用的,所以并没有什么权限控制,之所以后面会提到权限只是为了管控没有登录的用户的。没其他的意思。

 

项目提交

项目我都提交到github上了,首先在github上面新建项目:NLifeBill,创建完之后就都是本地的事情了。

在命令行下进入到你的项目文件夹下:

1 git init

初始化项目。

1 git add *

*表示所有的文件,一般可以不提交node_modules文件夹下的文件,但是我公司里面无法使用npm,所以我都提交了。

git commit -m "first commit"

添加备注,是提交的备注。说明下这次提交了什么信息。

git remote add origin https://github.com/Dn9x/NLifeBill

把项目要推送的远程地址设置好,第一次推送要这个命令,后面修改过之后就不用这条命令了,

git push -u origin master

把项目推送到远程服务器上,master是项目的主分支,也是主干,如果你想推送到其他分支上面,直接把master改成你分支的名称就行了,接下来会让你输入账号和密码的。

如果你在github上面创建新的仓库的时候并且没有新建readme.md文件,那么github会提示你怎么使用git提交项目的。

 

补充:这次的项目我没有按照以前的方式开发,而是把登录页面做好之后就没有做登录和权限控制了,而是直接开始做功能的部分了,我是打算功能的部分做好之后再回头晚上登录和权限控制的,然后再完善功能上的不足,所以你们会看到我很多地方代码只是写了一部分确没有实际使用。

posted @ 2014-02-24 10:17  Dn9x  阅读(288)  评论(0编辑  收藏  举报