feat(config): 添加 dist.zip 到 .gitignore 并更新构建和部署脚本

This commit is contained in:
2024-12-20 22:05:48 +08:00
parent bb7d50ac85
commit 1a5a9e2edd
6 changed files with 89475 additions and 11 deletions

1
.gitignore vendored
View File

@@ -1,3 +1,4 @@
package-lock.json package-lock.json
/node_modules/ /node_modules/
config.xml config.xml
/dist.zip

2
build.js Normal file
View File

@@ -0,0 +1,2 @@
const zip = require("./zip.js")
zip.start()

19
deploy.js Normal file
View File

@@ -0,0 +1,19 @@
const fs = require("fs");
const JSZip = require("jszip");
const zip = require("./zip.js")
const start = () => {
zip.start().then(() => {
const tar = new JSZip()
const config = fs.readFileSync('config.xml', 'utf8')
tar.file('config.xml', config);
const main = fs.readFileSync('main.min_jocw9Tu2.js', 'utf8')
tar.file('main.min_jocw9Tu2.js', main, {compression: "DEFLATE", compressionOptions: {level: 9}});
// 生成ZIP文件内容
tar.generateNodeStream({type: 'nodebuffer', streamFiles: true})
.pipe(fs.createWriteStream('dist.zip'))
.on('finish', function () {
console.log('部署文件已完成.');
});
})
}
start()

89442
main.min_jocw9Tu2.js Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -3,6 +3,7 @@
"jszip": "^3.10.1" "jszip": "^3.10.1"
}, },
"scripts": { "scripts": {
"build": "node zip.js" "build": "node build.js",
"deploy": "npm run build &&node deploy.js"
} }
} }

19
zip.js
View File

@@ -1,7 +1,6 @@
const fs = require("fs"); const fs = require("fs");
const path = require('path'); const path = require('path');
const JSZip = require("jszip"); const JSZip = require("jszip");
const { log } = require("console");
const folderPath = "./configs" const folderPath = "./configs"
const start = () => { const start = () => {
const files = fs.readdirSync(folderPath); const files = fs.readdirSync(folderPath);
@@ -11,23 +10,23 @@ const start = () => {
// 并行读取所有的 JSON 文件内容 // 并行读取所有的 JSON 文件内容
const combinedJson = {} const combinedJson = {}
const jsonContents = jsonFiles.forEach(file => { jsonFiles.forEach(file => {
const fileData = JSON.parse(fs.readFileSync(path.join(folderPath, file), 'utf8')) combinedJson[path.basename(file, '.json')] = JSON.parse(fs.readFileSync(path.join(folderPath, file), 'utf8'))
combinedJson[path.basename(file, '.json')] = fileData
}); });
compress(JSON.stringify(combinedJson, null, 2)) return compress(JSON.stringify(combinedJson, null, 2))
} }
const compress = json => { const compress = json =>new Promise(resolve => {
const zip = new JSZip(); const zip = new JSZip();
// 将JSON文件内容添加到ZIP实例中 // 将JSON文件内容添加到ZIP实例中
zip.file('config.json', json, { compression: "DEFLATE", compressionOptions: { level: 9 } }); zip.file('config.json', json, {compression: "DEFLATE", compressionOptions: {level: 9}});
// 生成ZIP文件内容 // 生成ZIP文件内容
zip.generateNodeStream({ type: 'nodebuffer', streamFiles: true }) zip.generateNodeStream({type: 'nodebuffer', streamFiles: true})
.pipe(fs.createWriteStream('config.xml')) .pipe(fs.createWriteStream('config.xml'))
.on('finish', function () { .on('finish', function () {
console.log('ZIP file created.'); console.log('ZIP file created.');
resolve()
}); });
} })
start() module.exports = {start}