Node.js搭建简单服务器

简介: Node.js搭建简单服务器

介绍


Node.js 是一个开源和跨平台的 JavaScript 运行时环境。 它几乎是任何类型项目的流行工,它可在浏览器之外运行 V8 JavaScript 引擎(Google Chrome 的内核)。 这使得 Node.js 的性能非常好。


官网


Node.js 中文网


安装


下载 | Node.js 中文网


开始


首先介绍一下Express ,它是一个简洁而灵活的 node.js Web应用框架。使用 Express 可以快速地搭建一个完整功能的网站。


  • 安装express

npm install express --save


  • 安装express-generator(服务器模板)

npm install express-generator -g


  • 创建项目

express +项目名称


这就是搭建好之后的服务器文件构成,重要的是app.js以及routes(用来配置接口)下的文件。然后新建一个conn.js用来连接数据库。index.js是默认自带的,其余是我自己新建。


image.png


conn.js


const mysql=require('mysql')
//连接数据库
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '',
  database : ''
});
//暴露出去
module.exports=connection;


index.js


var express = require('express');
var router = express.Router();
//引入连接数据库模块
const conn=require('./conn')
//连接数据
conn.connect(()=>{
  console.log("数据库连接成功")
})
var jsonWrite = function (res, ret) {
  if (typeof ret === 'undefined') {
      res.json({
          code: '1', msg: '操作失败'
      });
  }
  else {
      res.json(
          ret
      );
  }
};
/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});
module.exports = router;


app.js


var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
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, 'code/public')));
// error handler
app.use(function(err, req, res, next) {
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};
  res.status(err.status || 500);
  res.render('error');
});
const usersApi = require('./routes/users');
const shopApi = require('./routes/shopApi');
// 允许跨域
app.all('*', function(req, res, next) {
  console.log(req.headers.origin)
  console.log(req.environ)
  // res.header("Access-Control-Allow-Origin", req.headers.origin);
  //设置允许跨域的域名,*代表允许任意域名跨域
  res.header("Access-Control-Allow-Origin", "*");
  //允许的header类型
  res.header("Access-Control-Allow-Headers", "content-type");
  //跨域允许的请求方式 
  res.header("Access-Control-Allow-Methods", "DELETE,PUT,POST,GET,OPTIONS");
  if(req.method === "OPTIONS") res.send(200);/*让options请求快速返回*/
  else  next();
});
app.use('/users', usersApi);
app.use('/shop', shopApi);
//配置默认端口
app.listen(3000,()=>{
  console.log("服务器已启动..")
})
module.exports = app;


做完这些后在终端下或者cmd中打开这个服务器文件夹,输入命令node app.js


image.png


在浏览器中输人http://localhost:3000/进行测试


相关文章
|
前端开发 JavaScript 程序员
搭建一套支持TS的Node运行环境(下)
搭建一套支持TS的Node运行环境(下)
搭建一套支持TS的Node运行环境(下)
|
资源调度 JavaScript API
搭建一套支持TS的Node运行环境(上)
搭建一套支持TS的Node运行环境(上)
搭建一套支持TS的Node运行环境(上)
|
JavaScript
使用node、Socket.io 搭建简易聊天室(二)
使用node、Socket.io 搭建简易聊天室
224 0
使用node、Socket.io 搭建简易聊天室(二)
|
网络协议 前端开发
使用node、Socket.io 搭建简易聊天室(一)
使用node、Socket.io 搭建简易聊天室
139 0
|
Kubernetes 网络协议 Cloud Native
【云原生Kubernetes】二进制搭建Kubernetes集群(中)——部署node节点(3)
上一篇中已部署了etcd分布式数据库、master01节点, 本文将部署Kubernetes集群中的 worker node 节点和 CNI 网络插件。
197 0
|
Kubernetes 网络协议 Cloud Native
【云原生Kubernetes】二进制搭建Kubernetes集群(中)——部署node节点(2)
上一篇中已部署了etcd分布式数据库、master01节点, 本文将部署Kubernetes集群中的 worker node 节点和 CNI 网络插件。
238 0
|
Kubernetes Cloud Native 分布式数据库
【云原生Kubernetes】二进制搭建Kubernetes集群(中)——部署node节点(1)
上一篇中已部署了etcd分布式数据库、master01节点, 本文将部署Kubernetes集群中的 worker node 节点和 CNI 网络插件。
163 0
|
弹性计算 资源调度 JavaScript
搭建 node.js 运行环境 | 学习笔记
快速学习搭建 node.js 运行环境
120 0
搭建 node.js 运行环境 | 学习笔记
|
JavaScript 前端开发 网络协议
【Node.js】深度解析搭建后台服务器-http模块
【Node.js】深度解析搭建后台服务器-http模块 🔥前言 这篇文章将会教会你前端工程师怎么搭建后台服务器,做自己的后端开发,同时,在这篇文章开始你就开始正式进入全栈的道路咯!本片文章将细解http模块,在开始前我们将复习一点计算机网络的知识。
【Node.js】深度解析搭建后台服务器-http模块
|
开发工具 git
【Node.js+koa--后端管理系统】项目初始化搭建
【Node.js+koa--后端管理系统】项目初始化搭建
158 0
【Node.js+koa--后端管理系统】项目初始化搭建