vite-plugin-react18-pages
Version:
<p> <a href="https://www.npmjs.com/package/vite-plugin-react-pages" target="_blank" rel="noopener"><img src="https://img.shields.io/npm/v/vite-plugin-react-pages.svg" alt="npm package" /></a> </p>
61 lines • 2.17 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.renderOnePageData = exports.renderPageListInSSR = exports.renderPageList = void 0;
const slash_1 = __importDefault(require("slash"));
async function renderPageList(pagesData, isBuild) {
const addPagesData = Object.entries(pagesData).map(([pageId, { staticData }]) => {
let subPath = pageId;
if (subPath === '/') {
// import("/@react-pages/pages/") would make vite confused
// so we change the sub path
subPath = '/index__';
}
const dataModulePath = `/@react-pages/pages${subPath}`;
let code = `
pages["${pageId}"] = {};
pages["${pageId}"].data = () => import("${dataModulePath}");
pages["${pageId}"].staticData = ${JSON.stringify(staticData)};`;
return code;
});
return `
const pages = {};
${addPagesData.join('\n')}
export default pages;
`;
}
exports.renderPageList = renderPageList;
async function renderPageListInSSR(pagesData) {
const addPagesData = Object.entries(pagesData).map(([pageId, { staticData }], index) => {
let subPath = pageId;
if (subPath === '/') {
// import("/@react-pages/pages/") would make vite confused
// so we change the sub path
subPath = '/index__';
}
const code = `
pages["${pageId}"] = {};
import page${index} from "/@react-pages/pages${subPath}";
pages["${pageId}"] = page${index};`;
return code;
});
return `
const pages = {};
${addPagesData.join('\n')}
export default pages;
`;
}
exports.renderPageListInSSR = renderPageListInSSR;
function renderOnePageData(onePageData) {
const importModule = Object.entries(onePageData).map(([dataKey, path], idx) => `
import * as m${idx} from "${(0, slash_1.default)(path)}";
modules["${dataKey}"] = m${idx};`);
return `
const modules = {};
${importModule.join('\n')}
export default modules;`;
}
exports.renderOnePageData = renderOnePageData;
//# sourceMappingURL=pageUtils.js.map