一、项目初始化
1、新建项目文件夹Hello
2、初始化项目
yarn init -y 或者 npm init -y
3、安装express
yarn add express 或者 npm install express
4、在Hello目录中创建一个名为app.js文件
const express = require("express");
const app = express();
app.get("/",(req, res)=>{
res.send("hello");
})
app.listen(3000, ()=>{
console.log('Example app listening on port 3000!');
})
5、浏览器中访问http://localhost:3000/
如果看到hello,那么就初始化成功了!!!
二、静态资源和模板引擎的设置
如果要设置静态资源,需在app.js中添加下面代码设置静态资源的访问路径:
app.use(express.static("public"));
我们一般采用art-templates模板引擎,使用之前需要安装:
yarn add art-template 或者 npm install art-template
yarn add express-art-template 或者 npm install express-art-template
我们把模板引擎放在views文件夹下:
const path = require('path');
// 1、修改模板引擎为html,导入express-art-template
app.engine('html', require('express-art-template'));
// 2、设置运行的模式为开发模式
app.set('view options', {
debug: process.env.NODE_ENV !== 'development'
});
// 3、设置模板存放目录为views文件夹
app.set('views', path.join(__dirname, 'views'));
// 4、设置引擎后缀为html
app.set('view engine', 'html');
app.get("/",(req, res)=>{
res.render("news/index");
})
三、项目中设置post请求方式
获取post请求体参数的时候需要使用body-parser模块
添加以下设置:
// 1、引入body-parser
const bodyParser = require('body-parser');
// 2、bodyParser功能添加到项目app中
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json()); // parse application/json 针对异步提交ajax
四、添加cookie和session的配置
先要安装cookie-parser和cookie-session:
yarn add cookie-parser
yarn add cookie-session
然后在app.js中添加设置:
const cookieParser = require('cookie-parser');
const cookieSession = require('cookie-session');
// cookie的注册
app.use(cookieParser());
// session的注册
app.use(cookieSession({
name:"my_session",
keys:["%$#^&^%&TSFR#$TRGDRG$%GFDG%^$#%#^GFDGRDHG$#@^Y%"],
maxAge:1000*60*60*24*2 //过期时间设置为2天
}));
// 后面就可以通过 req.session[属性名] = 值来 设置session了
五、抽取app.js中的配置信息
现在项目中app.js配置已经很多了,我们要把这个文件中的配置信息全部抽取出来作为一个独立的配置文件
项目目录下新建配置文件config.js
const express = require("express");
const path = require("path");
const bodyParser = require('body-parser');
const cookieParser = require('cookie-parser');
const cookieSession = require('cookie-session');
var appConfig = app => {
// 静态资源找寻的文件夹
app.use(express.static("public"));
// 模板引擎
app.engine('html', require('express-art-template'));
app.set('view options', {
debug: process.env.NODE_ENV !== 'development'
});
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'html');
// 设置获取请求体
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
// cookie的注册
app.use(cookieParser());
// session的注册
app.use(cookieSession({
name:"my_session",
keys:["%$#^&^%&TSFR#$TRGDRG$%GFDG%^$#%#^GFDGRDHG$#@^Y%"],
maxAge:1000*60*60*24*2 //过期时间设置为2天
}));
}
module.exports = appConfig;
在app.js中直接引入配置信息:
// 引入配置文件
const config = require("./config");
// 创建应用程序对象
const app = express();
// 执行配置信息
config(app);
六、抽取app.js中的路由接口函数
项目文件夹下新建routes文件夹新建index.js:
const express = require('express');
const router = express.Router();
router.get('/', (req, res) => {
//返回这个页面
res.render('news/index');
});
module.exports = router
新建之后需要在config.js中添加路由的配置:
const indexRouters = require('./routes/index');
var appConfig = app => {
// 路由的设置
app.use(indexRouters); //首页相关路由接口
}
七、添加数据库配置
1、先创建数据库,并导入数据
这个可以在Navicat可以直接导入,或者在cmd导入数据
2、项目中测试数据库
首先要安装mysql:
yarn add mysql 或者npm install mysql
3、将上篇数据库专属文章里面的文件放入db文件夹中:
4、测试数据库:
const handleDb = require("../../db/handleDb");
router.get("/",(req, res)=>{
(async function index(){
let result = await handleDb(res,"info_category", "find", "info_category数据库查询出错");
res.send(result);
})();
})
一个node项目的准备工作就完成了。