怎么使用express开发web
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么使用express开发web相关的知识,希望对你有一定的参考价值。
参考技术A 首先安装express模块,cd到文件夹中,使用npm install express命令安装express module后,会发现文件夹中多了node_modules目录,里边会有express模块了。进入到任意一个文件夹,执行express app命令,就会创建一个app的应用项目,结构如下:
E:\nodejs\express_demo>express app
create : app
create : app/package.json
create : app/app.js
create : app/public
create : app/bin
create : app/bin/www
create : app/public/stylesheets
create : app/public/stylesheets/style.css
create : app/views
create : app/views/index.jade
create : app/views/layout.jade
create : app/views/error.jade
create : app/public/images
create : app/routes
create : app/routes/index.js
create : app/routes/users.js
create : app/public/javascripts
install dependencies: (这里指示安装必备的包)
$ cd app && npm install
run the app: (这里指示执行,使用npm start)
$ DEBUG=app ./bin/www
cd进入app文件夹中,执行app,使用命令node app这时候会报错,因为第一次使用express框架的话,缺少很多必备的modules
报错:
module.js:340
throw err;
^
Error: Cannot find module 'serve-favicon'//表示缺少serve-favicon模块
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (E:\nodejs\Node.js寮€鍙戝疄鎴榎chapter_two\express_dem
o\app\app.js:3:15)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
这个时候根据提示,安装必备的modules就可以了,如图
Your environment has been set up for using Node.js 0.10.26 (ia32) and npm.
C:\Users\Administrator>e:
E:\>cd nodejs
E:\nodejs>npm install serve-favicon
serve-favicon@2.2.0 node_modules\serve-favicon
├── ms@0.7.0
├── parseurl@1.3.0
├── fresh@0.2.4
└── etag@1.5.1 (crc@3.2.1)
E:\nodejs>npm install morgan
morgan@1.5.1 node_modules\morgan
├── basic-auth@1.0.0
├── depd@1.0.0
├── debug@2.1.1 (ms@0.6.2)
└── on-finished@2.2.0 (ee-first@1.1.0)
E:\nodejs>npm install cookie-parser
cookie-parser@1.3.3 node_modules\cookie-parser
└── cookie-signature@1.0.5
E:\nodejs>npm install body-parser
body-parser@1.12.0 node_modules\body-parser
├── content-type@1.0.1
├── raw-body@1.3.3
├── bytes@1.0.0
├── depd@1.0.0
├── qs@2.3.3
├── iconv-lite@0.4.7
├── on-finished@2.2.0 (ee-first@1.1.0)
├── debug@2.1.1 (ms@0.6.2)
└── type-is@1.6.0 (media-typer@0.3.0, mime-types@2.0.9)
E:\nodejs>
安装完成所有必备的modules后,在此执行app,项目根目录下npm start命令,如果还是提示类似Error: Cannot find module 'jade'错误的话,继续安装必备的模块
6
以上所有的一切完成后,在浏览器下输入http://127.0.0.1:3000/,如下图就表示成功了。本回答被提问者采纳
使用express.js框架一步步实现基本应用以及构建可扩展的web应用
最近过年在家有点懈怠,但是自己也不断在学习新的前端技术,在家琢磨了express.js的web框架。
框架的作用就是提高开发效率,快速产出结果。即使不使用框架,我们也会在开发过程中逐渐形成构成框架。
大多数的node.js项目中都会用到express.js
目录:
一、什么是express.js框架
二、express.js是怎么工作的
三、expres.js的安装
四、express.js的脚手架
五、express.js的helloworld基本应用
一、什么是express.js框架?
Express.js框架是基于node.js的http模块和connect组件的web框架。Connect组件就是中间件,以约定大于配置原则作为开发理念。
如果使用核心的node.js模块来开发web应用,会发现很多的代码冗余,例如:
1、解析http请求消息
2、解析cookie
3、管理session
4、根据http请求的方法类型和url路径做路由解析
REST API服务包含两种路由方式,1、基于http请求类型;2、基于URL
开发人员不得不做很多繁琐的工作,需要做http请求方式,url路由解析,分析请求,响应数据等等。
Express.js很好的解决这些繁琐的工作,express.js框架提供了一个类似MVC的架构,,web应用提供了一个良好的结构(MVC)(模型,视图,路由)。
二、express.js是如何工作的?
Express.js是单入口的主文件启动。我们在node命令中启动这个文件。
这个文件中,以下事情:
1、引入第三方模块,比如控制器,公共模块,辅助模块和模型。
2、配置express.js,例如模板引擎
3、连接到数据库,mongoDB,redis,mysql
4、定义中间件
5、定义路由
6、启动应用
7、模块化输出应用
三、express.js的安装
Express包有两种形式:
1、express-generator:一个提供在命令行中快速搭建全局NPM包
2、express:一个在Node.js应用中的node_modules文件夹里的本地模块包
1、express.js生成器
以全局形式安装express.js生成器,命令行输入
npm install –g express-generator@4.0.0
2、本地expres.js
通过在命令行输入
mkdir 文件夹名
新建一个文件夹,这个文件夹名就是项目文件夹。
cd 文件夹名
打开该文件夹名。通过在命令行输入
npm init
创建package.json
最后通过npm安装模块,在命令行输入
npm install express@4.1.2 –save
四、express.js脚手架
具有基本的结构后,通过稳定的脚手架快速启动是非常有必要的,这就是为啥有那么多的不同类型的脚手架。
五、helloworld的web应用
不使用生成器,高级模块,中间件来搭建express.js的应用。
步骤:
1、创建文件夹
2、npm初始化和配置packag.json
3、依赖声明
4、app.js文件
5、结合jade
6、运行应用
1、创建文件夹
node_modules文件夹:express.js和第三方模块的依赖都在这个目录下
views文件夹:jade或者其他模板引擎文件
2、npm初始化和package.json
我们不用express.js生成器,手动创建一个express.js应用,npm是什么,npm是node.js 的包管理器,创建package.json文件是必须的。
(1)可以使用在命令行输入
npm init
输入完成之后就会生成一个package.json文件。
(2)也可以创建package.json文件的方式,写入或者复制粘贴package.json并运行。
package.json文件内容
{
"name": "express",
"version": "1.0.0",
"description": ""
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"dependencies":{
"express":"4.1.2",
"jade":"1.3.1",
"mongoskin":"1.4.1",
"stylus":"0.44.0"
},
"author": "",
"license": "ISC"
}
3、index.js文件
index.js文件内容
var express = require(\'express\');
var http = require(\'http\');
var path = require(\'path\');
var app = express();
app.set(\'port\', process.env.PORT || 3001);
app.set(\'views\', path.join(__dirname, \'views\'));
app.set(\'view engine\', \'jade\');
app.all(\'*\', function(req, res) {
res.render(\'index\', {msg: \'Welcome to my coding life!\\n欢迎来到coding世界\'})
})
http.createServer(app).listen(app.get(\'port\'), function(){
console.log(\'Express server listening on port \' + app.get(\'port\'));
});
4、jade模板
5、运行
在命令行输入
node index
效果图,如下图所示
以上是关于怎么使用express开发web的主要内容,如果未能解决你的问题,请参考以下文章
express 4.0x 用ejs妫傻腶pp.js没有app.configure,怎么弄