`

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

    博客分类:
  • Node
阅读更多

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应用了。

 

 

 

 

 

 

  • 大小: 15.2 KB
分享到:
评论

相关推荐

    WebOA网络办公自动化系统

    客户端通过浏览器访问即可以实现网络办公自动化(无纸化办公)。系统侧重“信息共享、文档管理、数据收集、事务审批”四个方面,自带网站平台,支持手机登录。 运行环境: Internet 信息服务(IIS)、ASP.NET 4.0、...

    WebOA网络办公自动化系统 v19.4.zip

    WebOA网络办公自动化系统简介 WebOA网络办公自动化系统采用B/S架构进行开发,程序和数据集中存放在服务器上便于升级和维护;客户端通过浏览器访问即可以实现网络办公自动化(无纸化办公)。系统侧重“信息共享、...

    WebOA网络办公自动化系统 v19.11

    客户端通过浏览器访问即可以实现网络办公自动化(无纸化办公)。系统侧重“信息共享、文档管理、数据收集、事务审批”四个方面,自带网站平台,支持手机登录。运行环境:Internet 信息服务(IIS)、ASP.NET 4.0、SQL ...

    详解webpack+express多页站点开发

    那如果我们想要想要多页的普通的web站点,css独立出来,js加载需要模块? 项目地址:webpackDemo_jb51.rar 初始化项目、安装依赖 package.json "devDependencies": { "css-loader": "^0.23.1", "extract-text-...

    WebOA 网络办公自动化软件 20.1

    客户端通过浏览器访问即可以实现网络办公自动化(无纸化办公)。系统侧重“信息共享、文档管理、数据收集、事务审批”四个方面,自带网站平台,支持手机登录、微信消息推送、Office和PDF文档在线预览(不用装应用...

    ASP.NET 控件的使用

    第一部分 构建ASP.NET页面 第1章 ASP.NET Framework概览 2 1.1 ASP.NET和.NET Framework 5 1.1.1 框架类库 5 1.1.2 公共语言运行库 9 1.2 ASP.NET控件 10 1.2.1 ASP.NET控件概览 11 1.2.2 HTML控件 12 1.2.3 理解...

    ASP.NET.4揭秘

    20.1.2 理解初始化器721 20.1.3 理解类型推断723 20.1.4 理解匿名类型724 20.1.5 理解泛型724 20.1.6 理解lambda表达式726 20.1.7 理解扩展方法729 20.1.8 理解linq730 20.2 创建linq to sql实体732 20.2.1 手工创建...

    Node与Express开发.pdf

    一种新型 Web 服务器...................................................................................................4 1.6 Node 的生态系统 ...............................................................

    基于node+express爬虫 API接口项目.zip

    URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的...

    vue技术栈+express+node爬虫写的移动书城.zip

    URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的...

    以Node.js基于express以及爬虫实现的视频资源后端.zip

    URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的...

    WebOA网络办公自动化系统-.net

    客户端通过浏览器访问即可以实现网络办公自动化(无纸化办公)。系统侧重“信息共享、文档管理、数据收集、事务审批”四个方面,自带网站平台,支持手机登录。 WebOA网络办公自动化系统运行环境: Internet 信息服务...

    仿简书nx+nodejs+nestjs6+express+mongodb+angular8+爬虫.zip

    URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的...

    提莫淘书,小说爬虫,用node爬书,node 小说,vue+express+node爬虫.zip

    URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的...

    gopablo::wolf_face:静态站点生成器

    是一个静态站点生成器,具有现代化的开发工作流程,集成的Web服务器,自动重新加载,CSS预处理程序和ES6就绪。 产品特点 :backhand_index_pointing_down: 包括 :package: 实时服务器 :fire: 热装和CSS注入 :...

    frhttp:一个NodeJS框架,允许开发人员以功能性的React方式编写HTTP端点

    消除回调地狱容易推理易于测试(因为可以单独测试功能) 更好的错误消息促进代码重用(甚至可能与前端一起使用) 既可以单独使用,也可以作为现有Express项目的一部分使用安装npm install frhttp快速开始初始化您的...

    Visual C++ 2005入门经典--源代码及课后练习答案

    7.4.4 在构造函数中使用初始化列表 320 7.5 类的私有成员 320 7.5.1 访问私有类成员 323 7.5.2 类的友元函数 324 7.5.3 默认复制构造函数 326 7.6 this指针 328 7.7 类的const对象 331 7.7.1 类的...

    IBM WebSphere Portal门户开发笔记01

    14、JSP中初始化workspace的标签 78 15、JSP中用标签输出一条内容 78 (二)、标签及其功能的使用 78 1、Writing links to Web Content Management content 78 (三)拖放 JSP标记 80 1)<dnd:drag/> 80 2)...

Global site tag (gtag.js) - Google Analytics