Compare commits
No commits in common. "main" and "v1.0.5" have entirely different histories.
@ -11,7 +11,7 @@
|
||||
### A. 极简带版本模式 (防缓存)
|
||||
```html
|
||||
<!-- 使用 ?v= 指定全局版本,所有依赖包都会自动带上该版本后缀 -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/@apigo.cc/loader@1.0.6/dist/loader.min.js?v=1.0.12#state,base,datatable"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@apigo.cc/loader@1.0.5/dist/loader.min.js?v=1.0.12#state,base,datatable"></script>
|
||||
```
|
||||
|
||||
### B. 简写 Hash 模式
|
||||
|
||||
11
dist/loader.js
vendored
11
dist/loader.js
vendored
@ -3,10 +3,10 @@
|
||||
})(function() {
|
||||
"use strict";
|
||||
const DEFAULT_VERSIONS = {
|
||||
"state": "1.0.21",
|
||||
"bootstrap": "1.0.8",
|
||||
"base": "1.0.20",
|
||||
"datatable": "1.0.15",
|
||||
"state": "1.0.20",
|
||||
"bootstrap": "1.0.7",
|
||||
"base": "1.0.19",
|
||||
"datatable": "1.0.6",
|
||||
"kanban": "1.0.2",
|
||||
"mindmap": "1.0.2",
|
||||
"chart": "1.0.2",
|
||||
@ -17,8 +17,7 @@
|
||||
"bootstrap": ["state"],
|
||||
"base": ["state", "bootstrap"],
|
||||
"datatable": ["state", "bootstrap", "base"],
|
||||
"editor": ["state", "bootstrap", "base"],
|
||||
"mindmap": ["state", "bootstrap", "base"]
|
||||
"editor": ["state", "bootstrap", "base"]
|
||||
};
|
||||
const Loader = {
|
||||
_loaded: /* @__PURE__ */ new Set(),
|
||||
|
||||
2
dist/loader.min.js
vendored
2
dist/loader.min.js
vendored
@ -1 +1 @@
|
||||
!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";const t={state:"1.0.21",bootstrap:"1.0.8",base:"1.0.20",datatable:"1.0.15",kanban:"1.0.2",mindmap:"1.0.2",chart:"1.0.2",editor:"1.0.2",loader:"1.0.5"},e={bootstrap:["state"],base:["state","bootstrap"],datatable:["state","bootstrap","base"],editor:["state","bootstrap","base"],mindmap:["state","bootstrap","base"]},n={_loaded:new Set,_v:null,load:(...s)=>{if("undefined"==typeof document)return;const c=document.currentScript,o=c&&c.src?c.src:"";let a="";const r=o.includes(".min.js")?".min.js":".js";if(o&&(o.includes("jsdelivr.net")||o.includes("unpkg.com")||o.includes("npm.elemecdn.com"))){let t="https://cdn.jsdelivr.net/npm/@apigo.cc/{project}@{tag}/dist/{project}";o.includes("unpkg.com")?t="https://unpkg.com/@apigo.cc/{project}@{tag}/dist/{project}":o.includes("npm.elemecdn.com")&&(t="https://npm.elemecdn.com/@apigo.cc/{project}@{tag}/dist/{project}"),a=t+r}else if(o){const t=o.substring(0,o.lastIndexOf("/")+1);a=t+"{project}"+r}else a="https://cdn.jsdelivr.net/npm/@apigo.cc/{project}@{tag}/dist/{project}"+r;const i=s.map(t=>{const e=String(t).trim(),n=e.indexOf(":");return{name:-1===n?e:e.slice(0,n),version:-1===n?null:e.slice(n+1)}}).filter(t=>t.name),d=[],l={},p=t=>{const n=t.name.toLowerCase();t.version&&(l[n]=t.version);(e[n]||[]).forEach(t=>p({name:t})),d.includes(n)||d.push(n)};i.forEach(t=>p(t));const m="loading"===document.readyState;d.forEach(e=>{if(n._loaded.has(e))return;const s=l[e]||t[e]||"latest";let c=a.replace(/{project}/g,e).replace(/{tag}/g,s);if(n._v){const t=c.includes("?")?"&":"?";c+=`${t}v=${n._v}`}if(m)document.write(`<script src="${c}"><\/script>`);else{const t=document.createElement("script");t.src=c,document.head.appendChild(t)}n._loaded.add(e)})}};if("undefined"!=typeof document&&document.currentScript){const t=new URL(document.currentScript.src,location.href);n._v=t.searchParams.get("v");let e=t.searchParams.get("load");const s=t.hash.substring(1);!e&&s&&(e=s.startsWith("load=")?s.substring(5):s),e&&n.load(...e.split(","))}globalThis.__apigo_load=n.load});
|
||||
!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";const t={state:"1.0.20",bootstrap:"1.0.7",base:"1.0.19",datatable:"1.0.6",kanban:"1.0.2",mindmap:"1.0.2",chart:"1.0.2",editor:"1.0.2",loader:"1.0.5"},e={bootstrap:["state"],base:["state","bootstrap"],datatable:["state","bootstrap","base"],editor:["state","bootstrap","base"]},n={_loaded:new Set,_v:null,load:(...c)=>{if("undefined"==typeof document)return;const s=document.currentScript,o=s&&s.src?s.src:"";let a="";const r=o.includes(".min.js")?".min.js":".js";if(o&&(o.includes("jsdelivr.net")||o.includes("unpkg.com")||o.includes("npm.elemecdn.com"))){let t="https://cdn.jsdelivr.net/npm/@apigo.cc/{project}@{tag}/dist/{project}";o.includes("unpkg.com")?t="https://unpkg.com/@apigo.cc/{project}@{tag}/dist/{project}":o.includes("npm.elemecdn.com")&&(t="https://npm.elemecdn.com/@apigo.cc/{project}@{tag}/dist/{project}"),a=t+r}else if(o){const t=o.substring(0,o.lastIndexOf("/")+1);a=t+"{project}"+r}else a="https://cdn.jsdelivr.net/npm/@apigo.cc/{project}@{tag}/dist/{project}"+r;const i=c.map(t=>{const e=String(t).trim(),n=e.indexOf(":");return{name:-1===n?e:e.slice(0,n),version:-1===n?null:e.slice(n+1)}}).filter(t=>t.name),d=[],l={},p=t=>{const n=t.name.toLowerCase();t.version&&(l[n]=t.version);(e[n]||[]).forEach(t=>p({name:t})),d.includes(n)||d.push(n)};i.forEach(t=>p(t));const u="loading"===document.readyState;d.forEach(e=>{if(n._loaded.has(e))return;const c=l[e]||t[e]||"latest";let s=a.replace(/{project}/g,e).replace(/{tag}/g,c);if(n._v){const t=s.includes("?")?"&":"?";s+=`${t}v=${n._v}`}if(u)document.write(`<script src="${s}"><\/script>`);else{const t=document.createElement("script");t.src=s,document.head.appendChild(t)}n._loaded.add(e)})}};if("undefined"!=typeof document&&document.currentScript){const t=new URL(document.currentScript.src,location.href);n._v=t.searchParams.get("v");let e=t.searchParams.get("load");const c=t.hash.substring(1);!e&&c&&(e=c.startsWith("load=")?c.substring(5):c),e&&n.load(...e.split(","))}globalThis.__apigo_load=n.load});
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@apigo.cc/loader",
|
||||
"version": "1.0.6",
|
||||
"version": "1.0.5",
|
||||
"type": "module",
|
||||
"main": "dist/loader.js",
|
||||
"module": "dist/loader.js",
|
||||
|
||||
@ -22,9 +22,11 @@ try {
|
||||
const pkgPath = path.join(__dirname, '../package.json');
|
||||
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
|
||||
|
||||
// npm 要求包名全小写,scope + name 强制 toLowerCase
|
||||
const baseName = (pkg.name.includes('/') ? pkg.name.split('/')[1] : pkg.name).toLowerCase();
|
||||
// 保持原有名称(如果已经带有 @apigo.cc/ 前缀)或替换前缀
|
||||
if (!pkg.name.startsWith('@apigo.cc/')) {
|
||||
const baseName = pkg.name.includes('/') ? pkg.name.split('/')[1] : pkg.name;
|
||||
pkg.name = `@apigo.cc/${baseName}`;
|
||||
}
|
||||
pkg.version = version;
|
||||
|
||||
fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n');
|
||||
|
||||
13
src/index.js
13
src/index.js
@ -4,23 +4,22 @@
|
||||
*/
|
||||
|
||||
const DEFAULT_VERSIONS = {
|
||||
'state': '1.0.21',
|
||||
'bootstrap': '1.0.8',
|
||||
'base': '1.0.20',
|
||||
'datatable': '1.0.15',
|
||||
'state': '1.0.20',
|
||||
'bootstrap': '1.0.7',
|
||||
'base': '1.0.19',
|
||||
'datatable': '1.0.6',
|
||||
'kanban': '1.0.2',
|
||||
'mindmap': '1.0.2',
|
||||
'chart': '1.0.2',
|
||||
'editor': '1.0.2',
|
||||
'loader': '1.0.6'
|
||||
'loader': '1.0.5'
|
||||
};
|
||||
|
||||
const DEPENDENCY_GRAPH = {
|
||||
'bootstrap': ['state'],
|
||||
'base': ['state', 'bootstrap'],
|
||||
'datatable': ['state', 'bootstrap', 'base'],
|
||||
'editor': ['state', 'bootstrap', 'base'],
|
||||
'mindmap': ['state', 'bootstrap', 'base']
|
||||
'editor': ['state', 'bootstrap', 'base']
|
||||
};
|
||||
|
||||
const Loader = {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user