NodeJS+express创建初始化目录文件
文章 1697 0 0 0
发布时间:2019年02月20日

概述

nodejsWeb服务器,初始化文件搭建及使用

一、安装Node.js环境,可以官网直接下载或者指令下载

二、安装Express

$npm install express -g
$npm install express-generator -g

三、创建express项目,初始化

3.1 cmd终端打开指令

依次输入如下指令,根据自己实际需要创建对应的文件夹

d://d盘,可以自定义你的项目位置
md nodeweb     //在这里md是创建新的文件并命名为nodeweb
cd nodeweb     //进去刚刚创建的nodeweb文件夹
md expressdemo   //根据跟人习惯,此步骤可以不操作直接穿件app文件夹,“app”文件名也是自定义哦
cd expressdemo
express app     //此处app为项目名称,可自定义

NodeJS+express创建初始化目录文件

3.2 等待安装

cmd终端会有两个提示 ,如下:

NodeJS+express创建初始化目录文件

$cd app && npm install //此处是提醒我们可以进入项目根目录,执行npm install 安装依赖模块
$npm start //此处是提醒我们可以进入项目根目录,如何启动服务器

3.3cmd终端执行如下指令

cd app
npm install

3.4安装成功以后

可以在d盘目录下查看(步骤3.1完成以后就会有如下目录结构只是没有node_modules依赖的模块)

NodeJS+express创建初始化目录文件

注:小百科

1.bin:是用来启动应用(服务器)
2.node_modules:是依赖的模块
3.public:是存放静态资源的
4.routes:路由(可以问问度娘,了解得更加具体)主要是确定应用程序如何响应对特定端点的客户机发起的请求,包含一个URI(标识、定位任何资源的字符串)和一个特定的HTTP请求方法(如:post、axios等)
5.views:模板文件所在的目录,可以自定义封装一些组件
6.app.js:该程序是main.js文件以及服务器的启动入口

四、服务器的启动

4.1启动服务器

npm start

4.2启动成功以后

终端会输出node ./bin/www 如下图:

NodeJS+express创建初始化目录文件

4.3而后在浏览器

访问:http://127.0.0.1:3000

注:如果无法访问这个路径,可以尝试 http://localhost:3000/

浏览器显示结果如下:

NodeJS+express创建初始化目录文件

五、基本使用

5.1主要代码的介绍

5.1.1app.js

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
// ===路由信息(接口地址)开始存放在./routes目录下===
var indexRouter = require('./routes/index'); // home page 接口
var usersRouter = require('./routes/users'); // 用户接口
var app = express();
// view engine setup
// === 模板开始 ===
app.set('views', path.join(dirname, 'views'));
app.set('view engine', 'jade');
// === 模板开始 ===
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(dirname, 'public')));
app.use('/', indexRouter); // 在app中注册routes该接口
app.use('/users', usersRouter); // 在app中注册users接口
// catch 404 and forward to error handler
app.use(function(req, res, next) {
  next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};
  // render the error page
  res.status(err.status || 500);
  res.render('error');
});
module.exports = app;

5.1.2index.js是服务器调用的接口

var express = require('express');
var router = express.Router();
/ GET home page. /
// 定义一个 get 请求 path 为根目录
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});
module.exports = router;

5.2模拟用户信息接口DEMO

5.2.1在router文件下创建user.js

user.js

function User() {
    this.name;
    this.city;
    this.age;
}
module.exports = User;

users.js

var User = require('./user');
// 获取url参数 依赖于url模块 使用前需要使用
var URL = require('url');
var express = require('express');
var router = express.Router();
/ GET users listing. /
router.get('/', function(req, res, next) {
  res.send('respond with a resource in users');
});
router.get('/getUserInfo', function(req, res, next) {
  var user = new User();
  var params = URL.parse(req.url, true).query;
  if(params.id == '1') {
    user.name = "Mr.light";
    user.age = "1";
    user.city = "石家庄市";
  } else {
    user.name = "Ms.lee";
    user.age = "2";
    user.city = "河北省";
  }
  var response = {status:1,data:user};
  res.send(JSON.stringify(response))
});
module.exports = router;

目录结构如下:

NodeJS+express创建初始化目录文件

5.2.2重启服务器

crtl+c先关闭服务器

npm start

5.2.3调用方式-响应数据

http://127.0.0.1:3000/users

NodeJS+express创建初始化目录文件

评论专区