node.js (一)

一、什么是node

解释:node是一个服务器端的JavaScript解释器
node本身运行V8 JavaScript;

二、node的特点

1.模块化(模块需下载,只需下载一次)
npm install express -D:下载到开发环境
npm install express -S:下载到生态环境
npm install express --save:项目运行时依赖
npm install express --save:开发时时依赖

node的框架

express

npm install express -g // -g 全局安装
npm install express – 下载最新版本

下载速度慢?
npm install nrm -g //全局安装,代理映射库 ,可以提高 下载速度
nrm ls //显示可能资源有哪些
nrm use tao //使用淘宝库
nrm ls //看星号在那里,就说明,当明使用的谁
npm install express@3 – 指定下载版本

 文件,在路径下的node_modules文件夹
 这文件是必须使用的。可手动添加到项目中

 另,可以直接下载到项目,做为项目依赖
 npm install express@3 --save-dev

2.IO异步操作
3.时间驱动

4.node中的js支持ECMA,不支持DOM和BOM操作
5.函数式编程

三、node.js项目的文件构架

在这里插入图片描述
public – 静态资源文件(二阶段写的内容,html,css ,js ,img等)
view - 视图
router - 模块包
app.js - 入口文件,主要运行文件
package.json – json文件
package.json创建方式:输入如下命令,然后一直回车就好
在这里插入图片描述

项目配置

1.引用框架

//引用框架
var express =require('express');
//搭建服务
var app = express();
//配置端口号
app.listen(8081,function () {
    console.log('项目启动');
});

2.配置静态文件访问路径

app.use(express.static(_dirname+'/public'));
//_dirname 当前目录的绝对路径

3.配置图标
(1)下载图标的模块
npm install server-favicon -D
(2)引入模块
require('server-favicon ')
(3)使用模块
app.use(favicon(_dirname+’/public/favicon.ico '))

4.配置日志文件
(1)下载日志模块
npm install morgan -D
(2)引用日志模块
require(‘morgan’)
(3)使用日志模块
app.use(morgan(‘dev’))

5.路由
get请求

app.get('接口',function (request,response) {
    request.query();   //接收数据
    response.send();   //返回数据

});

post请求(需下载模块)
下载:
npm install body-parser
引用:

require('body-parser')
使用:
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:false}));
app.post('/register',function(request,response){
request.body;
response.send();
});
//关于页面重定向
app.get('/',function(req,res){
res.redirect('/login.html')
});

四、服务器搭建

作用
1.和前台进行数据交互,接受前台的数据,给前台发送数据;
2.操作数据库
3.能让所有用户访问到你的页面(让用户访问到你的服务器)

当前端访问页面时,给前端返回数据`

/* 引入http模块*/
const http = require("http");
/*搭建服务器*/
const server = http.createServer(function (request,response) {      
/*回调函数,只要有人访问服务器就会执行*/
    response.write('aabc');   //给前端返回的数据
    response.end();
    console.log('来了来了'+request.url);

});
/*配置端口号*/
server.listen(9999);  //里面的端口号自己随便起

关于端口号
1.在http协议中1024以下作为备用端口,不建议使用
2.端口号的范围:1-65535
3.如果你的机器上有端口号占用,换一个
4.特殊端口号80,如果是80,在访问页面的时候可以不用写

五、文件模块

作用:
1.针对不同的地址返回不同的页面

/*引入http模块*/
const http = require("http");
/*引入文件模块*/
const fs = require("fs");
/*搭建服务器*/
const server = http.createServer(function (request,response) {
    console.log("请求来了");
    console.log(request.url); //请求的地址

    var pathName="";
    if(request.url == "/"){
        pathName="/index.html";
    }else{
        pathName = request.url;
    }
/*file-system文件操作*/
    fs.readFile("public"+pathName,"utf-8",function (err,data) {
       if(!err){
           response.write(data);
           response.end();
       }else{
           console.log(err);
       }
    })
})

server.listen("8888"); //监听

六、访问数据库

操作:
1.下载mysql模块
命令语句:npm install mysql --save
2.引用数据库
var mysql = require(mysql’);
3.与数据库建立连接

/*与数据库建立连接*/
var db = mysql.createConnection({
    host:'localhost', //数据库地址
    user:'root',  //账号
    password:'root',  //密码
    database:'oneDay'  //数据库名称
});
var sql ='SELECT * FROM a';

4.执行sql语句

/*执行sql语句*/
db.query(sql,function (err,data) {
    if (err){
        console.log(err);
    }
    else {
        console.log(data);
    }

});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值