nodeJS学习笔记

nodeJS学习笔记javascript

// node中的全局对象
    //console.log() 
    // 定时器:setTimeout setInterval clearTimeout clearInterval
    // 路径: __dirname __filename
    // global node.js全局对象是 global  javascript的全局对象是window

// node中的模块 module
    // const counter = require('./node/stuff.js') //模块导入

    // console.log(counter.counter([0.1, 21, 215, 345, 345, 154, 12]), counter.sun())

// 事件模块 

    //  引入事件模块
    /* const events = require('events'); //引入事件模块
        

    //  实例化EventEmitter对象
    var myEmitter = new events.EventEmitter() 

    //  注册事件
    myEmitter.on('someEvent',function(msg){ 
        setImmediate(()=>{ //异步事件
            console.log('注册事件', msg)
        })
    })

    // 触发事件
    myEmitter.emit('someEvent','hello! node.js')//第一个参数是事件名,第二个是实参

    console.log('dssadas') */

// 文件系统模块
    // 读写文件
        //读取文件(fs.readFile)
        //写入文件(fs.writeFile)
 
    //1.引入文件系统模块
    //  const fs = require('fs');
    /*
        //2.经过对象调用方法 同步读取文件
        var user = fs.readFileSync('user.json','utf-8')

        console.log(user)
        //3.同步写入文件
        fs.writeFileSync('user.json',24) */

    //异步读写文件
        /* 
        fs.readFile('user.jso','utf-8',function(err,data){
            if(err){
                console.log(err)
            }
                console.log(clcledata)
            }) */
       // 异步必须有回调函数
           /*  fs.readFile('user.txt', 'utf-8', function (err, data) {
                if (err) {
                    console.log(err)
                }
                console.log(data)
            })

            fs.readFile('user.txt','utf8',function(err,data){
                if(err) throw err;
                fs.writeFile('users.txt',data,function(){

                })
            }) 
       
        nodenode
        console.log(1121) */

//删除或者增长文件
        const fs = require('fs');
    //调用删除方法
       /*  fs.unlink('user.txt',function(){
            if(err) throw err;
            console.log('文件删除成功!')
        }) */
        // fs.mkdirSync('stuff')
        // fs.rmdirSync('stuff')
    //异步建立和删除文件夹
        //添加文件夹
        /* fs.mkdir('stuff',function(){
            fs.writeFile('read.txt',`{ "xiaogeng":{"name": "xiaogeng","age": 24, "love": "no"}}`,function(err,data){
                if(err) throw err;
                console.log(data)
            })
        }) */
        //删除文件夹 文件夹内若是有文件,则须要先把文件删除
        /* fs.unlink('stuff/read.txt',function(err,data){
            if(err) throw err;
            console.log('文件删除成功!')
            fs.rmdir('stuff',function(err,data){
                if (err) throw err;
                console.log('文件夹删除成功!')
            })
        }) */

搭建简单的服务器html

//引入服务器模块
const http = require('http')
//建立服务器方法
var server = http.createServer(function (req, res) {
    console.log("客户端向服务器发送请求:" + req.url);
    res.writeHead(200,{"Content-type":'text/plain'})
    res.end('../index.html')
})
//服务器对象监听服务器地址以及端口号
server.listen(8088, '192.168.0.105')

console.log('server is running......')
// 读写数据流
const fs = require('fs');
//读数据流
    /* let myReadSteam = fs.createReadStream(__dirname+'/user.txt','utf8')

    myReadSteam.on('data',function(chunk){
        console.log('=============一部分数据=============')
        console.log(chunk)
    }) */

let myReadSteam = fs.createReadStream(__dirname + '/user.txt', 'utf8')

// let myWriteSteam = fs.createWriteStream(__dirname+'/wirte2.txt')

// myReadSteam.pipe(myWriteSteam)

// let time = 0;
// myReadSteam.on('data', function (chunk) {
//     time++
//     console.log('============='+ time +'部分数据=============')
//     myWriteSteam.write(chunk)
// })

var http = require('http');

var server = http.createServer(function(req,res){
    res.writeHead(200,{'Content-type':'text/plain'})
    let myReadSteam = fs.createReadStream(__dirname + '/user.txt', 'utf8')
    myReadSteam.pipe(res)
})

server.listen(5000,'192.168.0.105')
const http = require('http')

let server = http.createServer(function(req,res){
    res.writeHead(200,{'Content-type':'text/html'});
    var myReadStream = fs.createReadStream(__dirname + '/dist/index.html', 'utf8');
    myReadStream.pipe(res)
}) 

server.listen('3000','192.168.0.105')
const http = require('http')

const fs = require('fs')

let server = http.createServer(function(req,res){
    if(req.url!=='/favicon.ico'){
        console.log('用户正在向客户端发送请求:' + req.url)

         if (req.url === '/index' || req.url === '/') {
             res.writeHead(200, {
                 'Content-type': 'text/html'
             })
             var myReadeSteam = fs.createReadStream('index.html','utf-8')
             myReadeSteam.pipe(res)
         } else if (req.url === '/home') {
             res.writeHead(200, {
                 'Content-type': 'text/html'
             })
            
            var myReadeSteam = fs.createReadStream('home.html', 'utf-8')
            myReadeSteam.pipe(res)
         } else if (req.url === '/app/app') {
             res.writeHead(200, {
                 'Content-type': 'application/json'
             })
             var data = [{
                 "name": "xiaogeng"
             },
              {
                 "age": "24"
             }];
             res.end(JSON.stringify(data))
         }
    }
})

console.log('server is running.......')

server.listen(3000,'192.168.0.105')
//引入express框架
const express = require('express');
//实例化express对象
const app = new express()

//经过对象调用express方法
// 根据用户访问的地址返回对应信息
    /* app.get('/',function(req,res){ //建立访问路径
        console.log(req.url)
        res.send('this is home page') //返回信息
    })

    app.get('/app', function (req, res) { //路由
        console.log(req.url)
        res.send('this is app page')
    }) */
//路由参数
app.get('/app/:id', function (req, res) { //路由
    console.log(req.url)
    res.send('this is app page is :'+req.params.id)
})

//监听服务器端口
app.listen(5000)
// 应用EJS 配置视图引擎
app.set('view engine','ejs')
//路由参数
app.get('/app/:id',function(req,res){
    var data = [{age:25,name:['xiaogeng','loveyou']},{age:25,name:['genggeng','aini']}]
    res.render('app',{websiteName:req.params.id,data:data})
})

//监听服务器端口
app.listen(5000)
<h1>this is <%= websiteName %> page!</h1>
    <h2>我的介绍:</h2>
    <ul>
        <% data.forEach(function(item){ %>
            <li><%= item.name %></li>
            <li><%= item.age %></li>
        <% })%>
    </ul>
相关文章
相关标签/搜索