Node.js +Express+MongoDB+mogoose+ejs+bootstrap+jquery
Node.js + MongoDB 项目实战(二) 创建项目
在项目实战(一)中,已经配置好了开发环境(详见:http://www.cnblogs.com/jameslong/articles/3451152.html),这一节,来创建一个具体的项目,并对项目结构进行解析;
可以参考:http://expressjs.jser.us/guide.html
1. 在本地安装express项目
打开CMD命令行工具,输入npm install -g express 将express安装到本地,-g为全局安装的意思,这样可以在本地计算机的任何位置使用express框架生成器生成项目;
2. 创建项目文件结构
项目文件可以自己创建,也可以使用express框架,现在直接使用express框架,则在cmd中输入:“express myapp”即可在制定的文件夹下创建名为myapp的项目;在完成项目安装后会提示安装依赖,根据提示进行操作即可;
3. 打开项目下的package.json的文件:
{
"name": "application-name",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node app.js"
},
"dependencies": {
"express": "3.4.8"
}
}
json是一种文本格式,内容以“键”:“值”对的方式存在,可以嵌套,此种类型为集合;name是包名,scripts下的star是对项目启动的描述,在命令行中跳转到项目文件夹下,输入node app.js即可启动该应用,version是包的版本,dependencies:是依赖,node.js中要只要要项目调用,则必须指明其依赖关系,express:3.4.8 是node.js的mvc框架express的版本(为本博文创建时的最新版)。
4. 项目测试
在命令行CMD中跳转到项目文件夹下,输入mode app.js 会输出 Express server listening on port 3000
在浏览器url中输入127.0.0.1:3000 按下回车键即可;
5. 项目补充
上面创建的是最简单,也是最基本的项目框架,在项目中还要有模板引擎 ejs jade 等,还有session , stylus 等等,这些都是可以在项目需要的时候添加进去;比如要添加ejs模板引擎,方法很简单,打开项目中的package.json文件,然后在dependencies 中加上:“ejs”:"*",保存文件,并在CMD中输入“npm install”即可完成安装;然后在app.js 文件中修改模板引擎即可,express默认是jade模板引擎。其他的包类似,代码编辑器webstorm 中有node.js 的包管理器,可以直接选择需要添加的包,mogoose让mongoDB操作更简单,所以mongoose是一个包,用来操作mongoDB数据库的,后面用到该数据库,再讲解这个包的安装以及使用。
6. 完善项目
bootstrap,jquery等UI ,JS框架,只要按照从官网上下载相应的版本,解压,将文件放在public文件夹下对应的文件夹中,按照常规的方式进行引用即可。
到此node.js的项目就搭建起来了,对于新手来说,可能觉得云里雾里,或者是本人比较笨拙吧,在接触node.js 之初,只会按照《node.js 开发指南》一束照抄,但是后来才发现其实也没那么难;
对于新手,不管是接触任何技术,都会面临的一个困难,就是不知道一个项目的结构,各部分的职责,各部分的关联,以及工作机制。其实,在软件工程中,很多的东西都是互通的。
Node.js +Express+MongoDB+mogoose+ejs+bootstrap+jquery的更多相关文章
- Node.js Express+Mongodb 项目实战
Node.js Express+Mongodb 项目实战 这是一个简单的商品管理系统的小项目,包含的功能还算挺全的,项目涵盖了登录.注册,图片上传以及对商品进行增.删.查.改等操作,对于新手来说是个很 ...
- Node.js+Express+MongoDB数据库实现网页注册登入功能
通过 Node.js + Express + MongoDB 实现网页注册账号 和 登入账号的功能 项目准备: 1: 事先准备好项目的页面 (首页页面 index.html)(登入页面 login.h ...
- node.js+express+mongodb
主要是想用node.js链接mongodb,用的是mongoose.用ejs引擎,扩展到.html比较容易 小例子结构简单,框架清晰. 提交方法 路径 方法 作用 get add post a ...
- 【nodejs笔记1】配置webstorm + node.js +express + mongodb开发博客的环境
1. 安装webstorm 并破解 2. 安装node (以及express框架) 至官网下载并安装.(http://nodejs.org)v0.10.32 msi 安装后测试,打开命令行, c ...
- Node.js + Express + Mongodb 开发搭建个人网站(一)
一.Node + Express环境搭建 0.去Node官网下载安装node,如果安装了 npm 和 node的话 那么就 安装 全局的 express,-g全局安装 npm install expr ...
- ubuntu安装node.js+express+mongodb
输入以下命令安装: sudo apt-get install nodejs 安装完成后,终端输入nodejs,就能进入node命令啦: 但是正常下应该是输入node进入命令而不是nodejs: 在Ub ...
- ubuntu 安装node.js + express + mongodb
转载自http://my.oschina.net/reg/blog/289536 Ctrl + Alt + T,打开终端,输入以下命令安装: sudo apt-get install nodejs 安 ...
- Node.js + Express + Mongodb 开发搭建个人网站(二)
二.路由 1.打开 routes/index.js ,这个意思就是 捕获到访问主页的get请求: 并通过 app.js 分配到对应的路由里: 看到这里,打开 http://127.0.0.1:300 ...
- Node.js + Express + Mongodb 开发搭建个人网站(三)
三.后台架构 1.在根目录下(和 views 文件夹同级)创建 lib 文件夹 以后所有后端内容 都是在这里写,分别创建三个文件夹 到 lib 目录下: mongo 放的是数据的存储 module ...
随机推荐
- ubuntu下python3安装类库
ubuntu是默认安装了python2的,所以直接使用 pip install XXX 是默认安装到python2的,安装到python3 的指令是 pip3 install XXXX 或者 pyth ...
- MySQL学习笔记_2_MySQL创建数据表(上)
MySQL创建数据表(上) 一.创建数据表的SQL语句模型[弱类型] CREATETABLE [IF NOT EXISTS] 表名称( 字段名1列的类型[属性][索引], 字段名2 列的类型[属性][ ...
- order by与索引
ORDER BY 通常会有两种实现方法,一个是利用有序索引自动实现,也就是说利用有序索引的有序性就不再另做排序操作了.另一个是把结果选好之后再排序. 用有序索引这种,当然是最快的,不过有一些限制条件, ...
- JavaScript实现数组转置
//数组转置 var arr=[[2,5,6,8],[8,5,6,9],[9,6,2,1]] ; var arrNew=[];//定义一个新数组 for(var i=0;i<arr[ ...
- jquery iframe高度自适应
$(document).ready(function () { $("#test").load(function () { var thisheight = $(this).con ...
- javamail 学习及实例
JavaMail,是Sun发布的用来处理email的API,提供给开发者处理电子邮件相关的编程接口.通过使用它可以方便地执行一些常用的邮件传输. 可以看下<java邮件开发详解>第四章和第 ...
- Xcode连接git@osc
Xcode 已经集成了git,建立新项目时钩选使用git,然后按照下面步骤让Xcode和git@osc 建立连接. 第一步:成生SSH密钥 打开终端命令工具,输入命令:ssh-keygen -t rs ...
- C语言中文件的读取和写入
在C语言中写文件 //获取文件指针 FILE *pFile = fopen("1.txt", //打开文件的名称 "w"); // 文件打开方式 如果原来有内容 ...
- 一模 (5) day2
第一题: 题目大意:使得 x^x 达到或超过 n 位数字的最小正整数 x 是多少? n<=2*10^9 解题过程: 1.以前看到过这题了,一个数x的位数=(int)lg(x)+1 换一下底就是 ...
- partition by
在row_number() over()中的over使用,其后需要配合order by ROW_NUMBER () over (partition by username order by i ...