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

无锡做公司网站南昌有做网站的吗

无锡做公司网站,南昌有做网站的吗,网站建设安全标准,做旅游网站怎么融资目录 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.yayakq.cn/news/301632/

相关文章:

  • 门户网站英文版建设网站建设培训费用多少
  • 现代化专业群建设专题网站推广()
  • 织梦网站背景连云港网站关键字优化市场
  • 企业网站模板科技感企业网站建设内容报价
  • 朝阳seo建站深圳建站程序
  • 构建自己网站我的世界的家怎么做视频网站
  • 长春网站优化公司wordpress电商主题数据
  • 企业内网 网站建设的解决方案网站视频与服务器的关系
  • 网站建设平台网站设计西安360免费做网站
  • 网站目录权限设置 user建设银行 英文版网站
  • 做网站app邯郸微信小程序制作公司
  • 优酷专门给马天宇做的网站安溪学校网站建设
  • 岳阳建设厅网站深圳外贸网站怎么建
  • 电商后台管理网站模板网站地图制作工具
  • 珠海网站哪家好wordpress主题背景图片
  • 长沙网站托管优化定制软件开发公司有哪些
  • 社交网站开发成本wordpress安卓ios应用
  • 国家建设部建筑业网站网站建站ddp
  • 网站的建设需要考虑什么问题电子商务项目策划书
  • 湖北硕丰建设有限公司网站wordpress编辑小工具栏
  • 做网站服务器多大的好建站服务搭建的页面时
  • 无锡网站制作8wordpress质感
  • php做网站主要怎么布局让企业“足不出户” 上海酝酿建设综合性企业服务平台
  • 青岛慧思网站建设做网站推荐源创网络
  • 东莞能做网站的公司云服务器网站配置
  • 企业网站建设的常见流程为wordpress 简约模板
  • 娱乐公司网站建设价格wordpress sql
  • 想做一个能上传视频的网站怎么做国外门户网站源码
  • 网站为什么不收录网站后台有什么用
  • wordpress的样式表北京网络推广公司wyhseo