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是默认自带的,其余是我自己新建。

node.js搭建简单服务器_第1张图片

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

node.js搭建简单服务器_第2张图片

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

你可能感兴趣的:(Node.js,node.js,服务器,前端)