文档章节

nodejs+Express 开发应用--初始化

satanrabbit
 satanrabbit
发布于 2014/08/28 20:07
字数 527
阅读 2011
收藏 7

#nodejs+Express 开发应用--初始化

更新 4.X 初始化及启动应用

安装 express-generator 替代3.X版本直接使用 express 初始化项目。

$ npm install -g express-generator

初始化应用

使用默认jade模版的名称为myapp的web应用:

$ express  myapp

使用ejs模版的名称为myapp的web应用:

$ express --ejs myapp

使用supervisor 调试 应用

$ supervisor ./bin/www

##全局安装express

    $ npm install express -g

如果以前已经安装过express的话就不用执行这一步骤了。

##初始化应用 初始化一个支持session,使用ejs模版的名称为myapp的web应用:

$ express --sessions  --ejs myapp

执行完毕后根据提示,继续执行

cd myapp
npm install

[注]:express --help 查看express全部的命令

##设置cookie的密钥

在应用根目录下的app.js内,修改your secret here为自定义的密钥myappsecret

app.use(express.cookieParser('myappsecret'));

##配置路由 express默认的路由方式是在app.js中直接引入各个路由配置, 但是这种方式存在多种不便,建议采用各个路由单独配置。

配置方式是

将各个路由文件作为一个模块,多个路由文件可以组合成一个包,各个路由模块中都将app作为参数传递。

在app.js中仅仅引入一个路由文件,然后向各个路由模块中传递app

/*app.js*/
var routes = require('./routes');

/*other code*/

routes(app);

路由模块中设置一个主路由模块index.js, require('./routes')即引入routes/index.js模块

  /* *
 * routes/index.js
 * account为另一个子路由,可以是一个包,或者是一个模块,模块或者包遵循node的模块和包的规则。
 */

var account = require("./account");

module.exports = function(app) {
  /*其他路由规则*/
  app.all("/",function(req,res){
  /*处理请求*/
  })
  account(app);

  /*可以定义其他路由*/
};

account做为一个模块:

/*account作为一个模块*/
var account=require("../controllers").account;    //引入相关的controller

module.exports=function(app){
  app.get('/account/adminlogin',account.adminLogin);
  app.post('/account/adminlogin',account.adminLoginPost);
};

account作为一个包

/**
 * account 作为一个路由包
 * routes/account/index.js
 */
var user=require("./user");      //require routes/account/user.js
module.exports=function(app){
  user(app);
}

© 著作权归作者所有

satanrabbit
粉丝 4
博文 27
码字总数 9691
作品 0
河西
程序员
私信 提问
windos下是如何通过nodejs直接编译react组件的并且渲染的

最近啊在看nodejs,发现使用nodejs+express服务器的时候,编译react组件报未加引号的错误。求解!

省委书记沙瑞金
2016/05/25
314
1
Nodejs Auth模式下连接Mongodb

前言 最近公司的项目涉及到使用Nodejs+Express的一些业务,其中涉及到使用mongodb的连接问题。默认情况下linux上安装的mongodb有以下缺点: 1.不能远程访问 2.没有验证情况,任何人都能登录 ...

IamOkay
2016/08/27
568
0
nodejs+grunt+mocha+express+postgres搭建开发环境

nodejs/bower/grunt/mocha/express/postgres搭建开发环境 nodejs 流行的异步IO解决方案,链接http://nodejs.org/ bower 前段框架管理工具 grunt 自动化工具gruntjs.com mocha 自动化单元测试...

深山猎人
2015/01/21
0
0
node+express框架中连接使用mysql经验总结

最近在学习node.js,做了一个练手项目,使用node.js+express框架,配合mysql数据库和前端vue框架开发一个多人文档编辑系统。 node.js环境下express+mysql的服务端项目示例 首先是环境搭建: ...

前端全栈开发学习
2018/11/09
0
0
nodejs+express第一天

第一步安装nodejs 1、安装xcode、git;   2、使用git将node源码拉到本地 git://github.com/ry/node.git   3、./configure   4、make   5、make install 第二步安装express npm insta...

赵占涛
2014/12/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

状态模式

//相当把一个State对象存到Context对象中,然后通过Context实例化对象调用保存的state对象去调用state的相应的方法 https://blog.csdn.net/syc434432458/article/details/51210361...

南桥北木
10分钟前
0
0
基于 Jenkins + JaCoCo 实现功能测试代码覆盖率统计

本文首发于:Jenkins 中文社区 使用 JaCoCo 统计功能测试代码覆盖率? 对于 JaCoCo,有所了解但又不是很熟悉。 "有所了解"指的是在 CI 实践中已经使用 JaCoCo 对单元测试代码覆盖率统计: 当...

Jenkins中文社区
18分钟前
2
0
聊聊Elasticsearch的OsProbe

序 本文主要研究一下Elasticsearch的OsProbe OsProbe elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/monitor/os/OsProbe.java public class OsProbe { private static f......

go4it
18分钟前
0
0
谈谈lucene的DocValues特性之NumericDocValuesField

在默认实现的DocValuesCosumer中,数值有可能分块存储也有可能放在一个数据块中存储。 分块的大小默认是16384,并且通过预先计算如果按一个块存储最大值与最小值的差所占用的比特数和分块存储...

FAT_mt
36分钟前
0
0
【BATJ】面试必问MySQL索引实现原理

BATJ面试题剖析 1、为什么需要使用索引? 2、数据结构Hash、平衡二叉树、B树、B+树区别? 3、机械硬盘、固态硬盘区别? 4、Myisam与Innodb B+树的区别? 5、MySQL中的索引什么数据结构? 6、...

须臾之余
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部