| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | 
							- const fs = require('fs');
 
- const path = require("path");
 
- const archiver = require('archiver')
 
- const buildName = process.argv[2] //打包后的名字
 
- // 获取当前命令行上下文路径
 
- const currentDirectory = process.cwd();
 
- console.log(`----------------------------`)
 
- console.log(`正在准备打包为zip压缩文件...`)
 
- const distJoinPath = path.join(currentDirectory, '/zip/');
 
- if(!fs.existsSync(distJoinPath)) {
 
-     console.log(`zip文件夹不存在,准备创建...`)
 
-     fs.mkdir(distJoinPath, (err)=>{
 
-         if(err){
 
-             console.log('zip文件夹创建失败')
 
-         }else{
 
-             console.log('zip文件夹创建成功')
 
-         }
 
-     })
 
- }
 
- // 创建文件输出流
 
- console.log(`初始化zip文件流...`)
 
- const distZipPath = path.join(currentDirectory, `/zip/${buildName}`);
 
- let output = fs.createWriteStream(distZipPath)
 
- let archive = archiver('zip', {
 
-     zlib: { level: 9 } // 设置压缩级别
 
- })
 
- // 文件输出流结束
 
- output.on('close', function() {
 
-     console.log(`打包完成,zip文件位于zip文件夹下,/zip/${buildName}`)
 
- })
 
- // 数据源是否耗尽
 
- output.on('end', function() {
 
-     console.log('数据源已耗尽')
 
- })
 
- // 存档警告
 
- archive.on('warning', function(err) {
 
-     if (err.code === 'ENOENT') {
 
-         console.warn('stat故障和其他非阻塞错误')
 
-     } else {
 
-         throw err
 
-     }
 
- })
 
- // 存档出错
 
- archive.on('error', function(err) {
 
-     throw err
 
- })
 
- // 通过管道方法将输出流存档到文件
 
- archive.pipe(output)
 
- console.log(`正在将dist文件夹到zip中...`)
 
- const distPath = path.join(currentDirectory, '/dist/');
 
- //打包dist里面的所有文件和目录
 
- archive.directory(distPath, false)
 
- //完成归档
 
- archive.finalize()
 
 
  |