欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

nodejs开发后端的环境配置

程序员文章站 2024-02-19 18:53:22
...

关于nodejs的配置,我们在用nodejs搭建后台过程中,需要在控制台下载许多包和安装一些东西来配合我们的操作,如果能事先就处理好这些问题,那么接下来我们就可以专注于我的业务了。以下是我的总结。我是一名前端菜鸡,经验不足,文章可能存在很多不严谨的地方,请多多指教。

安装nodemon

npm install --global nodemon

我们一般都是使用node命令来启动服务器,每一次代码的修改都要重新启动服务器,
无法像html文件一样,在修改之后只要保存和刷新就可以,
但如果你安装了nodemon,只要你第一次使用nodemon 来启动服务器,它就会一直监视你文件的变化,
只有你修改了,就会重启你的服务器,
这样一来可以省了你宝贵的时间啦。是不是快爱上它了,hh.

下载package.json文件

下载:

npm init -y

由于很多包的安装都依赖package.json文件,如果没有该文件,后面下载包的时候可能会报错*no such file or directory, open 'C:\ \package.json。*所以推荐一开始就下载这个文件。

####安装express

安装:

npm install express -g

引包:

var  express=require("express");

创建服务:

var app=express();

此时的app相当于http.creativeSever

例子:

var  express=require("express");var app = express();// 这个一定要挂载路由之前app.use(router);app.get('/test2',function(req,res,next){    res.send('hello test2');});app.listen(8081, function () {   console.log("启动");})

上面的例子可以取代:

var http=require("http");
//创建服务器  回调函数表示接收到请求要做的事情
var server=http.createServer(function(req,res){
    //req表示请求  res表示响应
    res.writeHead(200,{"Content-type":'text/html;charset=UTF8'});
    res.end("开启服务器");


});
//运行服务器  监听端口8080
server.listen(8081,"127.0.0.1");

公开指定目录

在我们的配套文件中,有些文件属于私密的,有些文件允许客户访问,一般允许客户访问的文件我们一般会放在public文件夹下,其实public就是公开的意思。

语法:

app.use('/文件夹名字',express.static('./文件夹名字'))

例子一:

第一种:app.use('/public',express.static('./public'))
第二种:app.use(express.static('./public'));

假设你的publi文件夹下面有一个login.html文件

例子二:

app.use('/static/',express.static('./static'));

配置引擎模板art-template

安装:

npm install art-template --save
npm install --save express-art-template

引用包:

var template=require('art-template');

在express中使用模板引擎:

app.engine('.html',require('express-art-template'));
app.get('/', function (req, res) {
// res.render('404.html',);
  res.render('admin/index.html',{title:'可怜深情一无是处'});
});

app.engine()第一个参数表示,当渲染以.html结尾的文件时,使用art-template模板引擎express-art-template是专门用来在express中把art-template整合到Express中的
虽然我们不需要加载require(‘art-template’),但他依赖art-template
Express为res对象提供一个方法:render
render()默认不可以使用,除非安装了art-template
res.render(‘html模板名’,{模板数据});
注意:第一个参数不能写路径,默认会去views目录中查找该文件
也就是说express有一个约定:开发人员会把所有视图文件放在views下

配置body-parser

为啥我们要配置body-parser呢?
客户端可以向服务端发起get和post请求,在发请求的时候可以带参数传到服务端,那么如果想要获取请求的参数,对于get请求,通过req.query直接获得,但对于post请求,我们就需要配置body-parser之后通过req.body获取了。

引包:

var bodyParser=require('body-parser');

配置body-paeser:

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

下载MongODB

启动数据库:

//在控制台输入命令:
mongod

关闭数据库:

//方法一:在控制台输入命令:
mongod
//方法二:直接关闭控制台

连接数据库:

//在连接状态下,在控制台输入命令:
mongo

只有启动和连接了数据库,你对数据库的操作才有效。

下载mongoose

安装了MongODB之后,我们需要借助mongoose操作mongoose数据库
安装:

npm install mongoose

引包:

mongoose = require('mongoose');

连接数据库:

//指定连接的数据库不需要存在,当你插入一条数据的时候会自动创建出来
mongoose.connect('mongodb://localhost:27017/test', { useNewUrlParser: true, useUnifiedTopology: true });

例子:

//所有的数据库操作都是异步的


var mongoose = require('mongoose');
var Schema = mongoose.Schema;
//连接数据库
//指定连接的数据库不需要存在,当你插入一条数据的时候会自动创建出来
mongoose.connect('mongodb://localhost:27017/test', { useNewUrlParser: true, useUnifiedTopology: true });
//设计集合(表结构)
//字段名称就是表结构中的属性名称
//约束的目的是保证数据的完整性,不要有脏数据
var userSchema = new Schema({
    username: {
        type: String,
        require: true,//必须有
    },
    password: {
        type: String,
        require: true,
    },
    email: {
        type: String,
        require: false,
    }
})


var User = mongoose.model('User', userSchema);


//p83新增数据库
var jiujiu = new User({
    username: "jiujiu",
    password: "10086",
    email: "[email protected]"
});

引用session

安装:

npm install express-session

引包:

var session=require('express-session');

配置:

//配置session一定要在app.use(router)之前
app.use(session({
   secret:'itcase',//配置加密字符串itcase,它会在原有加密字符串之上,和这个字符串拼接
   //目的是加密字符串,防止客服端任意伪造
   resave:false,
   //saveUninitialized:true//无论你是否使用session,即在本案例中,无论是否注册,我都会给你配置一把钥匙
   saveUninitialized:false
}))

使用:

//当这个插件配置好之后,我们就可以通过req.session来访问和部署session成员
//添加session数据 
 req.session.foo='bar'
//访问session数据 
 req.sesson.foo
相关标签: node.js 前端