Commit c91f6f98 authored by huoshizhe's avatar huoshizhe

feat: 本地服务器

parent 9dda9208
{"ver":"1.1.2","uuid":"c35bb2f6-f24a-4850-ae44-643f2fdc7541","isBundle":false,"bundleName":"","priority":1,"compressionType":{"android":"default","ios":"default"},"optimizeHotUpdate":{"android":false,"ios":false},"inlineSpriteFrames":{"android":false,"ios":false},"isRemoteBundle":{"ios":false,"android":false},"subMetas":{}}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "c35bb2f6-f24a-4850-ae44-643f2fdc7541",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {
"android": "default",
"ios": "default"
},
"optimizeHotUpdate": {
"android": false,
"ios": false
},
"inlineSpriteFrames": {
"android": false,
"ios": false
},
"isRemoteBundle": {
"ios": false,
"android": false
},
"subMetas": {}
}
\ No newline at end of file
import {
buildWebDesktop,
buildAndroidBundle,
buildIosBundle,
buildWebBundle,
createConfigFile,
build_check,
changeSettingsToBundle,
changeSettingToWebDesktop,
compressAll,
replaceIndexHtml,
replaceUuids
} from "./buildCocos.js";
import { copyDir, removeDir } from "./utils.js";
const startTime = new Date().getTime();
// 构建前检查
const projectName = build_check();
// 清理旧文件
await removeDir('./publish/play');
await removeDir('./publish/form');
await removeDir('./publish/ios');
await removeDir('./publish/android');
await removeDir('./publish/web_desktop');
// 构建form
copyDir('../form/src', 'publish/form');
// 替换uuid
replaceUuids();
// 构建play
// 改设置为非bundle
changeSettingToWebDesktop();
// 构建web_desktop
await buildWebDesktop();
await copyDir('../play/build/web-desktop', 'publish/play');
replaceIndexHtml();
console.log('构建 web desktop 成功!');
// 改设置为bundle
changeSettingsToBundle();
await buildAndroidBundle();
await copyDir('../play/build_android/jsb-link/remote', 'publish/android');
console.log('构建 android bundle 成功!');
await buildIosBundle();
await copyDir('../play/build_ios/jsb-link/remote', 'publish/ios');
console.log('构建 ios bundle 成功!');
await buildWebBundle();
await copyDir(`../play/build_web_desktop/web-desktop/assets/${projectName}`, 'publish/web_desktop');
console.log('构建 web bundle 成功!');
// 改设置为非bundle
changeSettingToWebDesktop();
createConfigFile(projectName);
compressAll(projectName);
const endTime = new Date().getTime();
const duration = new Date(endTime - startTime);
console.log(`打包完成!`);
console.log(`用时${duration.getMinutes()}${duration.getSeconds()}秒。`);
import express from "express";
import os from "os";
import readline from "readline";
import { build } from "./buildCocos.js";
const networkInfo = os.networkInterfaces();
let host = '';
for (const infos of Object.values(networkInfo)) {
for (const info of infos) {
if (info.family == 'IPv4') {
if (info.address.split('.')[0] != "127") {
host = info.address;
}
}
}
}
var app = express();
app.use('/publish', express.static('publish'));
app.get('/', function (req, res) {
res.send('Hello World');
})
let port = '';
var server = app.listen(8081, function () {
port = server.address().port
console.log("测试服务已启动:%s:%s", host, port)
})
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
rl.on('line', async (str) => {
if (str.trim() == 'build') {
await build();
console.log("测试服务已启动:%s:%s", host, port)
console.log('输入 build 构建。')
} else {
console.log("测试服务已启动:%s:%s", host, port)
console.log('输入 build 构建。')
}
})
import { build } from "./buildCocos.js";
await build();
\ No newline at end of file
import { spawn } from "child_process";
import fs from "fs";
import compressing from 'compressing';
import { fix2 } from "./utils.js";
import { v4, parse } from 'uuid';
import { Base64 } from 'js-base64';
import { copyDir, removeDir, fix2 } from "./utils.js";
const creatorBasePath = 'C:\\CocosDashboard_1.0.6\\resources\\.editors\\Creator';
export async function build() {
const startTime = new Date().getTime();
// 构建前检查
const projectName = build_check();
// 清理旧文件
await removeDir('./publish/play');
await removeDir('./publish/form');
await removeDir('./publish/ios');
await removeDir('./publish/android');
await removeDir('./publish/web_desktop');
// 构建form
copyDir('../form/src', 'publish/form');
// 替换uuid
replaceUuids();
// 构建play
// 改设置为非bundle
changeSettingToWebDesktop();
// 构建web_desktop
await buildWebDesktop();
await copyDir('../play/build/web-desktop', 'publish/play');
replaceIndexHtml();
console.log('构建 web desktop 成功!');
// 改设置为bundle
changeSettingsToBundle();
await buildAndroidBundle();
await copyDir('../play/build_android/jsb-link/remote', 'publish/android');
console.log('构建 android bundle 成功!');
await buildIosBundle();
await copyDir('../play/build_ios/jsb-link/remote', 'publish/ios');
console.log('构建 ios bundle 成功!');
await buildWebBundle();
await copyDir(`../play/build_web_desktop/web-desktop/assets/${projectName}`, 'publish/web_desktop');
console.log('构建 web bundle 成功!');
// 改设置为非bundle
changeSettingToWebDesktop();
createConfigFile(projectName);
compressAll(projectName);
const endTime = new Date().getTime();
const duration = new Date(endTime - startTime);
console.log(`打包完成!`);
console.log(`用时${duration.getMinutes()}${duration.getSeconds()}秒。`);
}
const creatorBasePath = 'C:\\CocosDashboard_1.0.6\\resources\\.editors\\Creator';
export function buildWebDesktop() {
return new Promise((resolve, reject) => {
const buffer = spawn(
......
This diff is collapsed.
......@@ -5,6 +5,7 @@
"main": "build.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "node build.js",
"start": "node app.js"
},
"type": "module",
......@@ -13,6 +14,7 @@
"dependencies": {
"child_process": "^1.0.2",
"compressing": "^1.5.1",
"express": "^4.17.1",
"js-base64": "^3.7.2",
"uuid": "^8.3.2"
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment