Node.js 是一个开源和跨平台的 JavaScript 运行时环境。 它几乎是任何类型项目的流行工,它可在浏览器之外运行 V8 JavaScript 引擎(Google Chrome 的内核)。 这使得 Node.js 的性能非常好。
Node.js 中文网
下载 | Node.js 中文网
首先介绍一下Express ,它是一个简洁而灵活的 node.js Web应用框架。使用 Express 可以快速地搭建一个完整功能的网站。
npm install express --save
npm install express-generator -g
express +项目名称
这就是搭建好之后的服务器文件构成,重要的是app.js以及routes(用来配置接口)下的文件。然后新建一个conn.js用来连接数据库。index.js是默认自带的,其余是我自己新建。
const mysql=require('mysql')
//连接数据库
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : ''
});
//暴露出去
module.exports=connection;
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;
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/进行测试