From b2bce9a1080620bbbcbe68e2456ee2ad082eebc5 Mon Sep 17 00:00:00 2001 From: caizhitao Date: Sat, 11 Jul 2020 19:43:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20.cocos-project.json=20?= =?UTF-8?q?=E4=B8=8D=E5=AD=98=E5=9C=A8=E6=97=B6=E5=8F=AF=E8=83=BD=E5=B4=A9?= =?UTF-8?q?=E6=BA=83=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- src/cosos/CocosProjectConfig.ts | 14 ++++++++++++-- src/tasks/TaskConfig.ts | 7 +++++-- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 86cb8de..5a3fd03 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ ### Cocos Creator 2.4.+ -不支持(后续可能会有计划支持) +目前不支持(后续可能会有计划支持) ### Cocos Creator 2.3.3 diff --git a/src/cosos/CocosProjectConfig.ts b/src/cosos/CocosProjectConfig.ts index 5734f09..464cdf4 100644 --- a/src/cosos/CocosProjectConfig.ts +++ b/src/cosos/CocosProjectConfig.ts @@ -14,8 +14,18 @@ export class CocosProjectConfig { projectName: string | undefined; fromJson(json: any): CocosProjectConfig { - this.engineVersion = json["engine_version"]; - this.projectName = json["projectName"]; + this.engineVersion = this._getJson(json, "engineVersion"); + this.projectName = this._getJson(json, "projectName"); return this; } + + private _getJson(json: any, key: string) { + if (json) { + let value = json[key]; + if (value != null && value != undefined) { + return value; + } + } + return undefined; + } } diff --git a/src/tasks/TaskConfig.ts b/src/tasks/TaskConfig.ts index be4f78a..fc48fa3 100644 --- a/src/tasks/TaskConfig.ts +++ b/src/tasks/TaskConfig.ts @@ -60,7 +60,7 @@ export class TaskConfig { /** * Cocos 项目配置 */ - cocosProject: CocosProjectConfig; + cocosProject: CocosProjectConfig | undefined; constructor(buildOutputDirPath: string) { // console.log("当前执行文件所在目录路径", __dirname); @@ -76,7 +76,10 @@ export class TaskConfig { this.buildOutputMainJsFilePath = path.join(this.buildOutputDirPath, "main.js"); this.buildOutputLoaderPluginJsFilePath = path.join(this.buildOutputDirPath, "src/assets/loaderplugin.js"); this.inputLoaderPluginJsFilePath = path.join(path.dirname(process.argv[1]), "loaderplugin.js"); - this.cocosProject = new CocosProjectConfig().fromJson(JSON.parse(fs.readFileSync(this.buildOutputCocosProjectJsonFilePath).toString())); + + if (fs.existsSync(this.buildOutputCocosProjectJsonFilePath)) { + this.cocosProject = new CocosProjectConfig().fromJson(JSON.parse(fs.readFileSync(this.buildOutputCocosProjectJsonFilePath).toString())); + } console.log("初始化项目配置"); console.log(this);