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

金华网站建设luopan线上推广方案怎么写

金华网站建设luopan,线上推广方案怎么写,公司转让协议书,广东企业微信网站开发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/478561.html

相关文章:

  • 哪些网站可以做问卷调查赚钱百度收录好的免费网站
  • 网站视频下载网络运营主要做什么工作
  • 安阳网站建设优化谁有推荐的网址
  • 郑州做网站云极厦门关键词排名提升
  • 网站建设公司出路软文媒体
  • 做网站得多少钱谷歌seo是什么意思
  • 网站建设荣茂列表网推广效果怎么样
  • wordpress 关键词链接插件百度快速优化软件排名
  • 找人做网页要多少钱seo技术306
  • 中山网站的建设新闻式软文经典案例
  • 赣州服装网站建设网站关键词优化排名软件系统
  • 嘉峪关建设路小学网站软文网站推广法
  • 四川网站建设培训网站优化有哪些技巧
  • 建设工程信息查询哪个网站好百度关键词优化系统
  • 企业营销型网站建设团队如何优化网站排名
  • win xp 个人网站免费建设海外seo是什么
  • 什么网站可以做认证seo怎么做关键词排名
  • 柳市网站建设公司东莞百度快速排名优化
  • 沈阳市网站制作公司茶叶推广软文
  • 平顶山做网站优化免费网站建设
  • 焦作网站建设个人怎么做网站
  • 做平台网站怎么赚钱厦门seo排名收费
  • 北京网站定制太原seo排名优化软件
  • 公司网站建设计划书抖音seo查询工具
  • 公司是否可以做多个网站百度关键词挖掘工具爱站网
  • 政府网站集约化建设工作方案老司机们用的关键词有哪些
  • 网站建设项目描述谷歌seo网站优化
  • 做旅行义工网站蚁网络营销前景和现状分析
  • 专注东莞微信网站设计百度推广托管
  • 公众号注册流程seo需要培训才能找到工作吗