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

使用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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏进击的君君的前端之路

Form 表单

22920
来自专栏Youngxj

利用宝塔简易反向代理教程 适用于谷歌、ss站点

93370
来自专栏kalifaの日々

window下用pin安装flask步骤及import flask报错的解决方案

安装过程: 1.下载get-pip.py,下载路径并不重要 不用放到Python安装目录里。 2.打开下载路径 python get-pip.py 运行这个py...

41070
来自专栏十月梦想

小程序目录结构

        第一篇微信小程序的博文,不知从何开始说;name就从最基础的目录结构来说吧,初次接触这个东西自己也是折腾挺久的,这里系统的对比一下web开发的文...

17310
来自专栏王大锤

xcode插件安装

25340
来自专栏smy

jquery及原生javascript对jsonp解决跨域问题实例详解

jquery方式 ---- 前端: $.ajax({ url: 'http://m.xxx.tv/goLottery', ...

42970
来自专栏Python

vue之导入Bootstrap以及jQuery的两种方式

Vue引入bootstrap主要有两种方法 方法一:在main.js中引入 此方法导入的bootstrap中对于html,body的一些预设置的css样式可能无...

46850
来自专栏逸鹏说道

前端:图文混排-怎么在不使用float的情况下实现想要的效果呢?

异常处理汇总-前端系列 http://www.cnblogs.com/dunitian/p/4523015.html 举个例子 ? 重点:display:fle...

335110
来自专栏娱乐心理测试

你知道这个小技巧吗?

10040
来自专栏知晓程序

开发 | 拒绝打开就授权!小程序如何用新能力获取用户资料?

简单来说,这次能力更新,为 button 组件的 open-type 属性赋予了新的有效值 getUserInfo(声明需要获取用户信息)。

37330

扫码关注云+社区

领取腾讯云代金券