当前位置: 首页 > news >正文

郑州网站建设及托管网站网上推广

郑州网站建设及托管,网站网上推广,用asp做的网站有多少,免费b2b信息网目录 Node.js 文件系统模块(二) Node.js 文件系统模块(三) Node.js 文件系统模块(四) Node.js 路径模块 Node.js 连接 MySQL Node.js nodemon Node.js 操作 MySQL Node.js 应用 Node.js 文件系统模块…

目录

Node.js 文件系统模块(二)

 Node.js 文件系统模块(三)

 Node.js 文件系统模块(四)

Node.js 路径模块 

Node.js 连接 MySQL

 Node.js nodemon

Node.js 操作 MySQL

Node.js 应用


Node.js 文件系统模块(二)

打开文件
fs.open(path, flags[, mode], callback) 

Flag 描述
以读取模式打开文件。如果文件不存在抛出异常。
r+以读写模式打开文件。如果文件不存在抛出异常。
rs 以同步的方式读取文件。
rs+ 以同步的方式读取和写入文件。
以写入模式打开文件,如果文件不存在则创建。
wx类似 'w',但是如果文件路径存在,则文件写入失败。
w+ 以读写模式打开文件,如果文件不存在则创建。
wx+ 类似 'w+', 但是如果文件路径存在,则文件读写失败。
以追加模式打开文件,如果文件不存在则创建。
ax 类似 'a', 但是如果文件路径存在,则文件追加失败。
a+以读写追加模式打开文件,如果文件不存在则创建。
ax+ 类似 'a+', 但是如果文件路径存在,则文件读取追加失败。

const fs=require('fs')
fs.open('input.txt', 'r+', function(err, fd)
{if (err) {return console.error(err);} console.log(fd);fs.writeFile(fd, '小童程序员', (err) => {if(err){return  console.log(err)}console.log('写入完成')})
});

 Node.js 文件系统模块(三)

查看文件
fs.stat(path, callback) 

var fs = require("fs");
fs.stat('input.txt', function (err, stats)
{if (err) {return console.error(err);}console.log(stats);// 检测文件类型console.log("是否为文件 ? " + stats.isFile());console.log("是否为目录 ? " + stats.isDirectory());  
});

删除文件
fs.unlink(path, callback)

fs.unlink('input.txt', function(err) {if (err) {return console.error(err);}console.log("文件删除成功!");
});

 Node.js 文件系统模块(四)

1、创建目录
fs.mkdir(path[, options], callback) 

var fs = require("fs");
// tmp 目录必须存在
console.log("创建目录 tmp/test");
fs.mkdir("./tmp/test",function(err){if (err) {return console.error(err);}console.log("目录创建成功。");
});
fs.mkdir("./tmp/test",{ recursive: true
},function(err){if (err) {return console.error(err);}console.log("目录创建成功。");
});

2、读取目录
fs.readdir(path, callback)

var fs = require("fs");
console.log("查看 /tmp 目录");
fs.readdir("./tmp",function(err, files){if (err) {return console.error(err);}files.forEach( function (file){console.log( file );});
});

 3、删除目录
fs.rmdir(path, callback)

var fs = require("fs");
// 执行前创建一个空的 /tmp/test 目录
console.log("准备删除目录 ./tmp/test");
fs.rmdir("./tmp/test",function(err){if (err) {return console.log(err);}
});

 提示:
删除目录,如果目录下面有下一级则报错

Node.js 路径模块 

path 是Node.js的路径模块,用来处理路径。
path.dirname() 

返回路径的目录部分

require('path').dirname('./test/something') // ./test
require('path').dirname('./test/something/file.txt')
// ./test/something

path.extname()
返回路径的扩展名部分

require('path').extname('./test/something') // ''
require('path').extname('./test/something/input.txt') // '.txt'

path.isAbsolute()
如果是绝对路径,则返回 true。

require('path').isAbsolute('/test/something') // true
require('path').isAbsolute('./test/something') // false

path.join()
连接路径的两个或多个部分

const name = '程序员'
require('path').join('/', '小童', name) //'/小童/程序员'

path.parse()
解析对象的路径为组成其的片段:
        root : 根路径。
        dir : 从根路径开始的文件夹路径。
        base : 文件名 + 扩展名
        name : 文件名
        ext : 文件扩展名

require('path').parse('/users/test.txt')
//{
// root: '/',
// dir: '/users',
// base: 'test.txt',
// ext: '.txt',
// name: 'test'
//}

path.relative()
接受 2 个路径作为参数。 基于当前工作目录,返回从第一个路径到第二个路径的相对路径。

require('path').relative('/Users/joe','/Users/joe/test.txt') //'test.txt'
require('path').relative('/Users/joe','/Users/joe/something/test.txt') //'something/test.txt'

 path.resolve()
获得相对路径的绝对路径计算

require('path').resolve('joe.txt')
require('path').resolve('/etc', 'joe.txt') //'/etc/joe.txt'

Node.js 连接 MySQL

1、安装MySQL数据库
安装 xampp
        安装包下载地址: https://sourceforge.net/projects/xampp/files/
        进行下载安装
        启动
        新建数据库,新建表 

2、安装 mysql
yarn add mysql 或者 npm install mysql

3、node.js 连接 MySQL 

var mysql    = require('mysql');
//创建跟数据库的连接
var connection = mysql.createConnection({host   : 'localhost',user   : 'root',password : '',database : 'test'
});
//启动连接
connection.connect();
//执行查询
connection.query('select * from test',
function (error, results) {if (error) throw error;console.log(results);
});

 Node.js nodemon

安装 nodemon
yarn add nodemon 或者 npm install nodemon --save 

 使用nodemon运行脚本

nodemon 脚本文件 

使用package.json脚本

"scripts": {"start":"nodemon index.js"
}

 使用 npx

npx nodemon index.js 

Node.js 操作 MySQL

1、查询

connection.query('select * from test where name=?','test1', function (error, results,fields) {if (error) throw error;console.log(results,'results');
});

 2、插入

connection.query('insert into test(name) values (?)','test3', function (error,results, fields) {if (error) throw error;if(results.affectedRows){console.log('插入成功')}});

3、更新

connection.query('update test set value=? where name=?', [10,'test4'], function (error, results, fields) {if (error) throw error;if (results.affectedRows) {console.log('更新成功')}
});

4、删除

connection.query('delete from test where name=?', ['test4'], function (error, results, fields) {if (error) throw error;if (results.affectedRows) {console.log('删除成功')}
});

Node.js 应用

 index.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.container {width: 600px;margin: 50px auto;}table {width: 100%;text-align: center;}table thead th {background-color: #aaa;}table tbody td {background-color: #eee;padding: 5px}form {margin-bottom: 50px;text-align: center;}input {margin-bottom: 15px;}button {margin-left: 10px}</style>
</head>
<body><div class="container"><!-- 新增数据的表单 --><form id="form1" action="http://localhost:3030/add"  method="post">名称:<input type="text"  name="name"><br />数量:<input type="text"  name="value"><br /><input type="submit" value="提交" /></form><!-- 查询数据的输入框 --><input type="text" placeholder="请输入搜索的名称" id="name"><button onclick="onGetList()">搜索</button><!-- 展示数据的列表 --><table><thead><th>名称</th><th>数量</th><th>操作</th></thead><tbody></tbody></table></div><script>// 获取数据var onGetList = function () {// 获取tbodyvar tbody = document.querySelector('tbody')// 获取搜索框里面的内容const name = document.querySelector('#name').value// 发送获取数据的请求fetch('/getlist?name=' + name).then(function (data) {data.json().then(function (result) {tbody.innerHTML = null// 遍历返回的数据,生成每一行数据result.records.forEach(function (item) {var tr = document.createElement('tr')tr.innerHTML = '<td>' + item.name + '</td>' + '<td>' + item.value + '</td>'var td = document.createElement('td')var button = document.createElement('button')button.innerHTML = '删除'// 点击删除button.onclick = function () {remove(item)}td.append(button)tr.appendChild(td)tbody.appendChild(tr)})})})}// 删除数据function remove(item) {// 发送请求,并传递要删除数据的idfetch('/remove', { method: 'POST', body: JSON.stringify({ id: item.id }), headers: { 'Content-Type': 'application/json' } }).then(function (data) {console.log(data)data.json().then(function (result) {console.log('成功')onGetList()})})}window.onload = function () {onGetList()}</script>
</body>
</html>

 mysql.js

var mysql = require('mysql');
const sqlConfig = {host: 'localhost',user: 'root',password: '',database: 'test'
}
let connection = mysql.createConnection(sqlConfig)
const sqlFn = function (sql, arr, callback)
{connection.query(sql, arr, callback)
}
module.exports = sqlFn

server.js

const http=require('http')
const router=require('./router')
http.createServer(function(req,res){router(req,res)
}).listen('3030')

router.js

const sqlFn = require('./index')
const url = require('url')
const querystring = require('querystring')
const fs = require('fs')
module.exports = (req, res) => {const { pathname, query } = url.parse(req.url, true)console.log(req.method)if (req.method == 'POST') {let params = ''req.on('data', (chunk) => {params += chunk})req.on('end', () => {console.log(params)let postParams = querystring.parse(params)if (req.headers['content-type'] == 'application/json') {postParams = JSON.parse(params)}// 处理新增数据的请求if (pathname == '/add') {sqlFn('insert into test(id,name,value) values (null,?,?) ',[postParams.name, postParams.value], (results) => {if (results.affectedRows) {res.writeHead(200, { "Content-Type": 'application/json;charset=utf-8' })res.end(JSON.stringify({ code: 0, message: '操作成功' }))}})}//处理删除请求if (pathname == '/remove') {console.log(postParams)sqlFn('delete from test where id=? ', [postParams.id], (results) => {if (results.affectedRows) {console.log('删除成功')res.writeHead(200, { "Content-Type": 'application/json;charset=utf-8' })res.end(JSON.stringify({ code: 0, message: '操作成功' }))}})}})}if (req.method == 'GET') {// 处理获取数据请求if (pathname == '/getlist') {sqlFn(`select * from test where ${query.name ? 'name=?' : 'name is not null'}`, [query.name], (results) => {console.log(results)res.writeHead(200, { "Content-Type": 'application/json;charset=utf-8' })res.write(JSON.stringify({ code: 0, records: results }))res.end()})}//处理获取html页面请求if (pathname == '/index.html') {res.writeHead(200, { "Content-Type": 'text/html;charset=utf8' })fs.readFile('./index.html', (err, data) => {res.end(data)})}}
}

http://www.hkea.cn/news/163893/

相关文章:

  • 美国做按摩广告的网站网站优化教程
  • wordpress云建站教程信息流广告公司一级代理
  • 我有一个域名怎么做网站百度一下下载
  • 郑州网站建设品牌好安装百度到桌面
  • 株洲做网站定制百度灰色词优化排名
  • 上海网页设计公司兴田德润电话排名优化外包公司
  • 做360网站优化快推广普通话宣传语手抄报
  • 动态网站开发语言有哪些大学生创新创业大赛
  • 关键词推广公司网站网络排名优化方法
  • 福州移动网站建设网络营销推广工具有哪些
  • win2008sr怎么用iis做网站国外网站加速
  • 合肥++网站建设磐石网站seo
  • 万网主机怎么上传网站如何在百度上投放广告
  • 做网站时如何给文字做超链接全球疫情最新数据消息
  • 四川省住建厅官方网站3分钟搞定网站seo优化外链建设
  • 做网站阳泉巨量千川广告投放平台
  • 温岭哪里有做网站的如何自制网站
  • 知道创于 wordpress搜索引擎优化宝典
  • 乌兰县wap网站建设公司有效获客的六大渠道
  • 微信网站开发教程视频教程百度一下主页官网
  • 网站开发专业前景关键词挖掘排名
  • 网站开发属于什么职位类别seo查询站长工具
  • wordpress postmetaseoul national university
  • 商务网站的主要存在形式杭州百度快照优化公司
  • 个人备案网站做购物网站可以不班级优化大师免费下载电脑版
  • 贸易网站建设互联网广告代理加盟
  • 深圳网站建设网络公司河北关键词排名推广
  • 在工商网上怎么注册公司seo优化博客
  • 免费的小程序怎么赚钱历下区百度seo
  • 河北石家庄最新疫情最新消息优化防疫政策