diff --git a/noname/init/import.js b/noname/init/import.js index b755cd541..5f1bd9671 100644 --- a/noname/init/import.js +++ b/noname/init/import.js @@ -34,11 +34,11 @@ export const importMode = generateImportFunction('mode', (name) => `../../mode/$ */ function generateImportFunction(type, pathParser) { return async (name) => { - const path = pathParser(name); if(type == 'extension' && !game.hasExtension(name)){ await game.import(type,createEmptyExtension(name)); return; } + const path = pathParser(name); // 通过浏览器自带的script标签导入可直接获取报错信息,且不会影响JS运行 // 此时代码内容也将缓存在浏览器中,故再次import后将不会重新执行代码内容(测试下来如此) const [status, script] = await new Promise((resolve) => { @@ -79,7 +79,7 @@ function createEmptyExtension(name){ translate:{ }, }, - intro:"扩展《"+name+"》尚未开启,请开启后查看信息。", + intro:`扩展《${name}》尚未开启,请开启后查看信息。`, author:"未知", diskURL:"", forumURL:"", diff --git a/noname/init/index.js b/noname/init/index.js index 0a37ea546..489fdf6be 100644 --- a/noname/init/index.js +++ b/noname/init/index.js @@ -499,7 +499,7 @@ export async function boot() { } // await Promise.allSettled(_status.extensionLoading); - _status.extensionLoaded.filter(Boolean).forEach((name) => { + _status.extensionLoaded.filter(name=>game.hasExtension(name)).forEach((name) => { lib.announce.publish("Noname.Init.Extension.onLoad", name); lib.announce.publish(`Noname.Init.Extension.${name}.onLoad`, void 0); });