mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
feat(ssr): add ionic angular server (#18880)
This commit is contained in:
@@ -1,24 +1,30 @@
|
||||
module.exports.applyPolyfills = function() { return Promise.resolve() };
|
||||
module.exports.defineCustomElements = function(_, opts = {}) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const doc = document;
|
||||
const mod = doc.createElement('script');
|
||||
mod.setAttribute('type', 'module');
|
||||
mod['data-opts'] = opts;
|
||||
mod.src = '__CDN_LOADER_URL__/dist/ionic/ionic.esm.js';
|
||||
|
||||
const legacy = doc.createElement('script');
|
||||
legacy.setAttribute('nomodule', '');
|
||||
legacy['data-opts'] = opts;
|
||||
legacy.src = '__CDN_LOADER_URL__/dist/ionic/ionic.js';
|
||||
exports.applyPolyfills = function() { return Promise.resolve() };
|
||||
|
||||
mod.onload = resolve;
|
||||
mod.onerror = reject;
|
||||
exports.defineCustomElements = function(_, opts) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
if (typeof document !== 'undefined') {
|
||||
opts = opts || {};
|
||||
var mod = document.createElement('script');
|
||||
mod.setAttribute('type', 'module');
|
||||
mod['data-opts'] = opts;
|
||||
mod.src = '__CDN_LOADER_URL__/dist/ionic/ionic.esm.js';
|
||||
|
||||
legacy.onload = resolve;
|
||||
legacy.onerror = reject;
|
||||
var legacy = document.createElement('script');
|
||||
legacy.setAttribute('nomodule', '');
|
||||
legacy['data-opts'] = opts;
|
||||
legacy.src = '__CDN_LOADER_URL__/dist/ionic/ionic.js';
|
||||
|
||||
doc.head.appendChild(mod);
|
||||
doc.head.appendChild(legacy);
|
||||
mod.onload = resolve;
|
||||
mod.onerror = reject;
|
||||
|
||||
legacy.onload = resolve;
|
||||
legacy.onerror = reject;
|
||||
|
||||
document.head.appendChild(mod);
|
||||
document.head.appendChild(legacy);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -6,10 +6,12 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const version = process.argv[2];
|
||||
let version = process.argv[2];
|
||||
|
||||
if (!version) {
|
||||
throw new Error('version arg missing');
|
||||
if (version) {
|
||||
version = '@' + version;
|
||||
} else {
|
||||
version = '';
|
||||
}
|
||||
|
||||
const srcPath = path.join(__dirname, 'cdn-loader.js');
|
||||
@@ -19,7 +21,7 @@ let scriptContent = fs.readFileSync(srcPath, 'utf-8');
|
||||
|
||||
scriptContent = scriptContent.replace(
|
||||
/__CDN_LOADER_URL__/g,
|
||||
'https://cdn.jsdelivr.net/npm/@ionic/core@' + version
|
||||
'https://cdn.jsdelivr.net/npm/@ionic/core' + version
|
||||
);
|
||||
|
||||
fs.writeFileSync(path.join(__dirname, '..', 'loader', 'cdn.js'), scriptContent);
|
||||
|
||||
Reference in New Issue
Block a user