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>