使用Express初始化一个基础web站点,即简单介绍

Node 安装:

        参考:http://zy-email1991.iteye.com/blog/2105062

安装Express:

        express 是 Node.js 上最流行的 Web 开发框架,正如他的名字一样,使用它我们可以快速的开发一个 Web 应用。

        我们需要用全局模式安装 express,因为只有这样我们才能在任意命令行中使用它。

 

npm install -g express@3

 注意:@3代表安装Express3.x版本,参数 -g 指定全局安装,如果不带参数 -g 则安装只在当前文件夹中有效。

 

 

新建一个工程:

        新建一个工程文件夹,使用终端进入工程文件夹,使用Express初始化工程

 

express -e blog

 注意:参数 blog 是工程名,会在当前文件夹中创建一个 blog 的工程文件夹,参数 -e 是指定当前工程使用 ejs 模板引擎。

 

         至此,我们用 express 初始化了一个名为blog的工程项目,并指定使用 ejs 模板引擎。

 

工程结构:


 app.js:启动文件,或者说入口文件

 

package.json:存储着工程的信息及模块依赖,当在 dependencies 中添加依赖的模块时,运行 npm install,npm 会检查当前目录下的 package.json,并自动安装所有指定的模块


node_modules:存放 package.json 中安装的模块,当你在 package.json 添加依赖的模块并安装后,存放在这个文件夹下


public:存放 image、css、js 等文件
routes:存放路由文件
views:存放视图文件或者说模版文件

 

下面是对 app.js 文件中代码的具体介绍

/**
 * Module dependencies.
 */

/*
 这里我们通过 require() 加载了 express、http、path 模块,
 以及 routes 文件夹下的 index.js 和 user.js 文件。
 */
var express = require('express');
var routes = require('./routes/index');
var user = require('./routes/user');
var http = require('http');
var path = require('path');

var app = express();

// all environments
//设置端口为 process.env.PORT 或 3000。
app.set('port', process.env.PORT || 3000);
//设置 views 文件夹为存放视图文件的目录,即存放模板文件的地方,
// __dirname 为全局变量,存储当前正在执行的脚本所在的目录
app.set('views', path.join(__dirname, 'views'));
//设置视图模版引擎为 ejs。
app.set('view engine', 'ejs');
//connect 内建的中间件,使用默认的 favicon 图标,
// 如果想使用自己的图标,需改为 app.use(express.favicon(__dirname + '/public/images/favicon.ico'));
// 这里我们把自定义的 favicon.ico 放到了 /public/images 文件夹下。
app.use(express.favicon());
//connect 内建的中间件,在开发环境下使用,在终端显示简单的日志,
app.use(express.logger('dev'));

//app.use(express.json());
//app.use(express.urlencoded());

//connect 内建的中间件,用来解析请求体,
// 支持 application/json, application/x-www-form-urlencoded, 和 multipart/form-data。
app.use(express.bodyParser());

/*
app.use(express.bodyParser());
相当于:
app.use(express.json());
app.use(express.urlencoded());
app.use(express.multipart());
这里我们仍然使用:
app.use(express.bodyParser());
 */

//connect 内建的中间件,可以协助处理 POST 请求,伪装 PUT、DELETE 和其他 HTTP 方法。
app.use(express.methodOverride());
//调用路由解析的规则。
app.use(app.router);
//connect 内建的中间件,设置根目录下的 public 文件夹为存放 image、css、js 等静态文件的目录。
app.use(express.static(path.join(__dirname, 'public')));

// development only
//开发环境下的错误处理,输出错误信息。
if ('development' == app.get('env')) {
  app.use(express.errorHandler());
}

app.get('/', routes.index);
app.get('/users', user.list);

/*
 下面这段代码的意思是创建 http 服务器并监听 3000 端口,
 成功后在命令行中显示 Express server listening on port 3000,
 然后我们就可以在浏览器访问 localhost:3000 了。
 */
http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});

 

到此,一个基本的web站点就初始化完成了,我们就可以在此基础上开发我们的web应用了。

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值