文档章节

使用Express快速搭建前端项目框架

珲少
 珲少
发布于 2016/11/27 12:15
字数 799
阅读 770
收藏 0

使用Express快速搭建前端项目框架

    Express是基于Node.js的前端Web开发框架,使用其可以简洁快速的创建健壮友好的API服务。在前端或移动端的开发过程中,可以借助Express的这项功能模拟API数据,方便开发调试。

    Express是基于Node.js平台的,因此在安装Express之前,需要先安装Node.js。使用如下命令来检查系统中所安装的node版本:

node -v

如果系统中没有安装Node.js,可以在如下网站进行下载安装:

https://nodejs.org/en/

    创建一个测试工程目录,用于存放Express项目框架,首先在终端,使用如下命令进行Express的全局安装:

npm install express-generator -g

需要注意,很多时候国内网络使用npm的时候会非常慢,可以通过如下命令来修改仓库源。

npm install -g cnpm --registry=https://registry.npm.taobao.org

之后使用cnpm来进行包的安装:

cnpm install express-generator -g

    安装好Express后,在新建的文件夹目录下,执行Express的初始化:

express

如果文件夹不为空,会提示是否继续操作,输入yes后回车即可。

    初始化完成后的Express项目结构如下:

其中会默认创建一个package.json文件,其中会添加许多依赖包,在项目目录中执行如下命令来安装这些依赖:

npm install

依赖安装完成后,工程中会多一个node_modules的文件夹,里面是所有依赖包文件。

    再来看Express模板中的文件,其中bin文件夹下面的www.js文件是服务的启动文件,其中启动了HTTP的服务,默认端口为3000。routes文件夹下面的文件用于配置api路由,默认有index.js与users.js两个。app.js文件中对api进行了初始化与配置。可以在users.js中添加一个测试api如下:

var express = require('express');
var router = express.Router();

/* 这个是默认生成的. */
router.get('/', function(req, res, next) {
  res.send('respond with a resource');
});
/* 添加一个测试api*/
router.get('/testAPi',function(rep,res,next){
  res.send('{name:jaki,age:24}');
});
module.exports = router;

在项目目录下通过终端执行如下命令来将服务开启:

node bin/www

如果服务启动成功,在浏览器输入http://127.0.0.1:3000/users/testAPi会返回我们send()方法传递的字符串。

小提示:MacOS系统在服务进行中,可以使用control+c来释放端口的监听,如果不小心使用control+z或者关闭了终端,会导致所监听端口的无法释放,下次如果再次启动node服务,会报Port 3000 is already in use的错误,可以使用如下方法来进行所监听端口的释放:

首先使用如下命令查看所有监听某个端口的服务,例如3000端口:

sudo lsof -i:3000

之后终端会将服务名与进行id告诉我们,如下:

COMMAND PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
node    829  vip   13u  IPv6 0x9c3536500e84e203      0t0  TCP *:hbci (LISTEN)

使用如下命令来杀死对应进程即可:

 sudo kill -9 829

 

© 著作权归作者所有

共有 人打赏支持
珲少

珲少

粉丝 844
博文 380
码字总数 447278
作品 0
上海
iOS工程师
全 Javascript 的 Web 开发架构:MEAN

引言 最近在Angular社区的原型开发者间,一种全Javascript的开发架构MEAN正突然流行起来。其首字母分别代表的是:(M)ongoDB——NoSQL的文档数据库,使用JSON风格来存储数据,甚至也是使用JS来...

疯狂的流浪
2014/04/02
3.9K
5
全Javascript的Web开发架构:MEAN和Yeoman

本文由伯乐在线 -华铭 翻译。未经许可,禁止转载! 英文出处:Addy Osmani。欢迎加入翻译组。 引言 最近在Angular社区的原型开发者间,一种全Javascript的开发架构MEAN正突然流行起来。其首字...

伯乐在线
2014/02/18
0
0
从零开始使用express搭建博客系统(一):前期环境构建与代码初始化

node 这里会有三篇文章,教你从零开始使用express搭建博客系统,每篇文章都很简单,希望大家看完文章能大致入门express。 一,安装node 直接在node官网进行下载,下载下来进行傻瓜式安装,安...

Darrell
02/10
0
0
这绝对是有史以来最详细的web前端学习攻略

  第一阶段:   HTML+CSS:   HTML进阶、CSS进阶、div+css布局、HTML+css整站开发、   JavaScript基础:   Js基础教程、js内置对象常用方法、常见DOM树操作大全、ECMAscript、DOM、...

学习web前端
2017/10/12
0
0
nodejs:解决传统开发的前后端分离问题

最近接触到两个小项目,是用传统的开发方式,由服务端渲染页面,前端用到thymeleaf和jsp 虽然笔者也可以按照项目的架构搭一个阿帕奇服务器把java项目跑起来,但无疑是费时费力的,可能做完这...

小飞牛牛
08/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

设计模式之 明确责任 观察者模式 状态模式 责任链模式

观察者模式是任务分发的一种模式。 如果认为我们设计的系统的各个模块(或子系统)的最终目的是完成共同任务,那么这个任务如何分配到多个模块的就是我们遇到的第一个问题。简单设计场合我们...

backbye
14分钟前
2
0
14-利用思维导图梳理JavaSE-大汇总

14-利用思维导图梳理JavaSE-Java基础知识大汇总 主要内容 1.对象入门 2.一切都是对象 3.程序流程控制 4.初始化和消除 5.权限访问控制 6.复用类 7.多态 8.接口与抽象类 9.内部类 10.容器 11.异...

飞鱼说编程
49分钟前
5
0
利用Lombok编写优雅的spring依赖注入代码,去掉繁人的@Autowired

大家平时使用spring依赖注入,都是怎么写的? @Servicepublic class OrderService { @Autowired private UserService userService;} 是不是很熟悉的感觉?但是呢 如果你用...

HeyS1
56分钟前
25
0
IBATIS 写BLOB字段遇到的问题

1、 首先遇到的配置问题,通过设置typeHandler 来支持写入。接下来由此引出了事务的问题。 <typeHandler jdbcType="BLOB" javaType="[B" callback="org.springframework.orm.ibatis.support....

echo-neo
今天
1
0
37. Sudoku Solver

Description tags: backtrack,hash table difficulty: hard Write a program to solve a Sudoku puzzle by filling the empty cells.A sudoku solution must satisfy all of the following......

52iSilence7
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部