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

电子商务网站建设实训过程西安全网优化

电子商务网站建设实训过程,西安全网优化,江苏网站备案暂住证,wordpress微博采集器deploy.js const fs require(fs) const path require(path) const util require(util) const OSS require(ali-oss)/*因为,在Node.js中,许多核心模块的函数都是采用回调函数的形式进行异步操作的,即在操作完成后调用回调函数来处理结果。…

deploy.js

const fs = require('fs')
const path = require('path')
const util = require('util')
const OSS = require('ali-oss')/*因为,在Node.js中,许多核心模块的函数都是采用回调函数的形式进行异步操作的,即在操作完成后调用回调函数来处理结果。但是,使用回调函数的编码风格可能会导致回调地狱(callback hell)的问题,使代码难以阅读和维护。所以,为了解决这个问题,Node.js提供了util.promisify方法,它可以将回调风格的函数转换为返回Promise的函数,通过这种方式,可以使用async/await或.then()链式调用等方式来处理异步操作,使代码更加清晰和易于理解。这两句代码的作用是:将Node.js中的回调风格的函数fs.readdir 和 fs.stat转换为基于Promise的函数,这里,util.promisify被用来转换fs.readdir和fs.stat这两个具有回调函数的函数,转换后,promisifyReaddir和promisifyStat就变成了可以返回Promise的函数,可以使用await或.then()来处理它们的异步结果。
*/
const promisifyReaddir = util.promisify(fs.readdir)
const promisifyStat = util.promisify(fs.stat)// 阿里云的oss配置
const client = new OSS({region: 'oss-dnfdnfdnf',accessKeyId: 'Even-Dnf-dnf',accessKeySecret: 'Even-dnf-dnf-DNF',bucket: 'orange-dnf'
})/*(__dirname):node自带参数,返回的是当前文件所在目录path.resolve():将当前文件所在目录(__dirname)与相对路径'./dist'拼接起来,得到一个绝对路径,表示要上传的本地文件夹的路径
*/
const publicPath = path.resolve(__dirname, './dist')// 异步函数run,它递归遍历指定文件夹中的所有文件和文件夹,并将文件上传到阿里云OSS
async function run(proPath = '') {/*(fs.readdir):读取,指定路径下的文件和文件夹,返回一个包含文件和文件夹名称的数组,${publicPath}${proPath}:表示要读取的文件夹路径*/const dir = await promisifyReaddir(`${publicPath}${proPath}`)// 开始一个循环,遍历文件夹dir中的每个项for (let i = 0; i < dir.length; i++) {// (fs.stat):获取当前项的状态信息,返回一个包含文件或文件夹的详细信息的对象const stat = await promisifyStat(path.resolve(`${publicPath}${proPath}`, dir[i]))// 这个if...else,判断当前项是文件还是文件夹if (stat.isFile()) {// 如果当前项是文件,创建一个可读流(fs.createReadStream)来读取文件内容,将文件内容存储在fileStream变量中const fileStream = fs.createReadStream(path.resolve(`${publicPath}${proPath}`, dir[i]))// 打印出正在上传的文件的路径console.log(`上传文件: ${proPath}/${dir[i]}`)/* 使用OSS客户端的putStream方法,将文件流上传到阿里云OSS中的指定路径proPath:文件在文件夹中的相对路径,dir[i]表示文件名,fileStream表示文件内容流*/const result = await client.putStream(`${proPath}/${dir[i]}`, fileStream)} else if (stat.isDirectory()) {// 如果,当前项是文件夹,递归调用run函数,传递当前文件夹的路径,以处理嵌套的文件夹结构await run(`${proPath}/${dir[i]}`)}}
}run()
http://www.dtcms.com/wzjs/287412.html

相关文章:

  • 做网站用笔记本做服务器吗seowhy培训
  • 上海大型网站制作公如何自建网站?
  • 现在一般做网站都是去哪家做的微信视频号小店
  • json取数据做网站注册平台
  • 做教育的网站智慧教育
  • 顺企网吉安网站建设关键词林俊杰无损下载
  • 什么是黄页快速优化工具
  • 模拟手机营销网站关键词优化建议
  • 做门窗做什么网站好郑州黑帽seo培训
  • 网站运营心得建网站找哪个公司
  • 理财网站建设怎么申请自己的网络平台
  • 加强会计师事务所品牌建设seo推广需要多少钱
  • 企业网站运营三只松鼠网络营销案例分析
  • 印后设备网站建设系统优化软件
  • 电子商务网站建设 教材广州网站建设费用
  • 教育 高校 网站模板百度投流
  • 大型企业网站建设南京网站seo
  • 动漫制作专业名人百度关键词优化软件如何
  • 韶山网站建设四川省人民政府官网
  • 网站仿做软件广州网站维护
  • 南昌高端网站开发费用表网络推广合作资源平台
  • 网站 备案网站百度竞价排名的优缺点
  • 网站提供哪些服务网站seo方案
  • 建筑工程人才培训网官网搜索引擎seo如何优化
  • 国内美食网站欣赏seo搜索是什么
  • 做我女朋友好吗网站广州网站建设技术外包
  • 网站建设如何电子商务主要学什么内容
  • 长春市规划建设局网站查询怎么在百度发布自己的文章
  • 做购物网站适合的服务器济宁百度推广价格
  • 网站服务器能更换吗网络推广服务外包公司