mirror of
https://github.com/lowdefy/lowdefy.git
synced 2025-04-06 15:30:30 +08:00
Merge pull request #857 from lowdefy/cli-blocks-server-renderer
fix(cli): Use renderer served from blocks server url if configured.
This commit is contained in:
commit
269c15b5eb
@ -57,9 +57,16 @@ async function getExpress({ context, gqlServer }) {
|
||||
// serve webpack files
|
||||
app.use(express.static(path.resolve(__dirname, 'shell')));
|
||||
|
||||
// serve version for renderer module federation
|
||||
app.use('/api/dev/version', (req, res) => {
|
||||
res.json(context.lowdefyVersion);
|
||||
// Serve rendererRemoteEntryUrl for renderer module federation
|
||||
app.use('/api/dev/rendererRemoteEntryUrl', (req, res) => {
|
||||
let rendererRemoteEntryUrl;
|
||||
|
||||
if (context.options.blocksServerUrl) {
|
||||
rendererRemoteEntryUrl = `${context.options.blocksServerUrl}/renderer/remoteEntry.js`;
|
||||
} else {
|
||||
rendererRemoteEntryUrl = `https://blocks-cdn.lowdefy.com/v${context.lowdefyVersion}/renderer/remoteEntry.js`;
|
||||
}
|
||||
res.json(rendererRemoteEntryUrl);
|
||||
});
|
||||
|
||||
// Redirect all 404 to index.html with status 200
|
||||
|
15
packages/cli/src/commands/dev/shell/bootstrap.js
vendored
15
packages/cli/src/commands/dev/shell/bootstrap.js
vendored
@ -18,9 +18,9 @@ import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import { Loading, loadWebpackFederatedModule, useDynamicScript } from '@lowdefy/block-tools';
|
||||
|
||||
function Shell({ version }) {
|
||||
function Shell({ rendererRemoteEntryUrl }) {
|
||||
const { ready, failed } = useDynamicScript({
|
||||
src: `https://blocks-cdn.lowdefy.com/v${version}/renderer/remoteEntry.js`,
|
||||
src: rendererRemoteEntryUrl,
|
||||
});
|
||||
|
||||
if (!ready) {
|
||||
@ -40,10 +40,13 @@ function Shell({ version }) {
|
||||
);
|
||||
}
|
||||
|
||||
const getVersion = async () => {
|
||||
return (await fetch(`/api/dev/version`)).json();
|
||||
const getRendererRemoteEntryUrl = async () => {
|
||||
return (await fetch(`/api/dev/rendererRemoteEntryUrl`)).json();
|
||||
};
|
||||
|
||||
getVersion().then((version) => {
|
||||
ReactDOM.render(<Shell version={version} />, document.getElementById('root'));
|
||||
getRendererRemoteEntryUrl().then((rendererRemoteEntryUrl) => {
|
||||
ReactDOM.render(
|
||||
<Shell rendererRemoteEntryUrl={rendererRemoteEntryUrl} />,
|
||||
document.getElementById('root')
|
||||
);
|
||||
});
|
||||
|
@ -162,6 +162,8 @@ _ref:
|
||||
- `@lowdefy/blocks-markdown` to be hosted at `{BLOCK_SERVER_URL}/blocks-markdown/`.
|
||||
- `@lowdefy/blocks-echarts` to be hosted at `{BLOCK_SERVER_URL}/blocks-echarts/`.
|
||||
|
||||
If you wish to run the CLI dev server, the `@lowdefy/renderer` package build artifacts (located in the `dist` directory) should also be served from `{BLOCK_SERVER_URL}/renderer/`.
|
||||
|
||||
- _ref:
|
||||
path: templates/navigation_buttons.yaml
|
||||
vars:
|
||||
|
Loading…
x
Reference in New Issue
Block a user