介绍
Node.js 是一个开源和跨平台的 JavaScript 运行时环境。 它几乎是任何类型项目的流行工,它可在浏览器之外运行 V8 JavaScript 引擎(Google Chrome 的内核)。 这使得 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是默认自带的,其余是我自己新建。
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
在浏览器中输人http://localhost:3000/进行测试