提交 30989a29 作者: yueyang.lv

build(remote): 远程子模块命名调整

上级 6cf022cd
const express = require("express");
const fs = require("fs");
const https = require("https");
const os = require("os");
const path = require("path");
const setupProxy = require("./src/setupProxy");
const serveStatic = require("serve-static");
var history = require("connect-history-api-fallback");
......@@ -11,5 +15,15 @@ app.use(history());
// app.use(express.static("build"));
app.use(serveStatic("build", { index: ["index.html", "index.htm"] }));
app.listen(PORT);
console.log(`build 文件预览服务已开启 http://127.0.0.1:${PORT}`);
https
.createServer(
{
key: fs.readFileSync(path.join(os.homedir(), ".cert/key.pem")),
cert: fs.readFileSync(path.join(os.homedir(), ".cert/cert.pem")),
},
app
)
.listen(PORT, () => {
console.log("预览服务已开启");
console.log(`https://localhost:${PORT}`);
});
......@@ -38,7 +38,7 @@ module.exports = function (config, env) {
new ModuleFederationPlugin({
name: "minio_console",
remotes: {
saturnApp: `saturnApp@${remoteOrigin}/remoteEntry.js`,
saturn_tenant: `saturn_tenant@${remoteOrigin}/remoteEntry.js`,
},
// filename: "remoteEntry.js",
// exposes: {
......
......@@ -48,6 +48,7 @@
"server_install": "yarn --registry=https://registry.npmjs.org/",
"server_build": "react-app-rewired build",
"build": "react-app-rewired build",
"build:local_test": "REACT_APP_LOCAL_TEST=true REMOTE_URL=https://loclhost.kube.ucas:9001 npm run build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
......
......@@ -21,7 +21,7 @@ import { hot } from "react-hot-loader/root";
import ProtectedRoute from "./ProtectedRoutes";
import LoadingComponent from "./common/LoadingComponent";
import AppConsole from "./screens/Console/ConsoleKBar";
import { SaturnAppFullscreen } from "./saturnCloud";
import { SaturnTenantFullscreen } from "./saturnCloud";
const Login = React.lazy(() => import("./screens/LoginPage/LoginPage"));
const LoginCallback = React.lazy(
......@@ -53,7 +53,7 @@ const Routes = () => {
<Route
exact
path="/saturn/fullscreen/*"
children={(routerProps) => <SaturnAppFullscreen />}
children={(routerProps) => <SaturnTenantFullscreen />}
/>
<ProtectedRoute Component={AppConsole} />
</Switch>
......
/// <reference types="react-scripts" />
declare module "saturnApp/*";
declare module "saturn_tenant/*";
......@@ -91,7 +91,7 @@ export const useFederatedComponent = (remoteUrl, scope, module) => {
interface IProps {
/** ./App */
module: string;
/** saturnApp */
/** saturn_tenant */
scope: string;
/** http://localhost:9000/remoteEntry.js */
url: string;
......
......@@ -3,40 +3,46 @@ import { NavLink } from "react-router-dom";
import LoadingComponent from "../common/LoadingComponent";
import history from "../history";
// import RemoteComponent from "./RemoteComponent";
// import loadMenu from "saturnApp/menu";
// import loadMenu from "saturn_tenant/menu";
// const URL = "http://localhost:9000/remoteEntry.js";
// const SCOPE = "saturnApp";
// const SCOPE = "saturn_tenant";
const RemoteSaturnApp = lazy(() => import("saturnApp/App"));
const RemoteSaturnAppFullscreen = lazy(() => import("saturnApp/AppFullscreen"));
const RemoteSaturnTenant = lazy(() => import("saturn_tenant/App"));
const RemoteSaturnTenantFullscreen = lazy(
() => import("saturn_tenant/AppFullscreen")
);
// const loadMenu = () => import("saturnApp/menu");
// const loadMenu = () => import("saturn_tenant/menu");
// console.log("loadMenu", loadMenu);
// export function SaturnApp() {
// export function SaturnTenant() {
// return <RemoteComponent url={URL} scope={SCOPE} module="./App" />;
// }
// export function SaturnAppFullscreen() {
// export function SaturnTenantFullscreen() {
// return <RemoteComponent url={URL} scope={SCOPE} module="./AppFullscreen" />;
// }
/** 在 Layout 下展示的内容 */
export function SaturnApp() {
export function SaturnTenant() {
return (
<Suspense fallback={<LoadingComponent />}>
<RemoteSaturnApp history={history} />
</Suspense>
<div>
<Suspense fallback={<LoadingComponent />}>
<RemoteSaturnTenant history={history} />
</Suspense>
</div>
);
}
/** 全屏展示的内容 */
export function SaturnAppFullscreen() {
export function SaturnTenantFullscreen() {
return (
<Suspense fallback={<LoadingComponent />}>
<RemoteSaturnAppFullscreen history={history} />
</Suspense>
<div>
<Suspense fallback={<LoadingComponent />}>
<RemoteSaturnTenantFullscreen history={history} />
</Suspense>
</div>
);
}
......@@ -45,7 +51,7 @@ export function useSaturnConsoleMenu() {
const [menu, setMenu] = useState([]);
useEffect(() => {
import("saturnApp/consoleMenu")
import("saturn_tenant/consoleMenu")
.then((res) => {
const createMenu = res.default;
createMenu(NavLink).then((menu) => {
......
......@@ -50,7 +50,7 @@ import {
import { hasPermission } from "../../common/SecureComponent";
import { IRouteRule } from "./Menu/types";
import LoadingComponent from "../../common/LoadingComponent";
import { SaturnApp } from "../../saturnCloud";
import { SaturnTenant } from "../../saturnCloud";
const Trace = React.lazy(() => import("./Trace/Trace"));
const Heal = React.lazy(() => import("./Heal/Heal"));
......@@ -607,7 +607,7 @@ const Console = ({
</Suspense>
</Route>
<Route key={"/saturn"} exact path={"/saturn/*"}>
<SaturnApp />
<SaturnTenant />
</Route>
{allowedRoutes.length > 0 ? (
<Redirect to={allowedRoutes[0].path} />
......
......@@ -14,6 +14,13 @@ export const toLoginPage = (options?: ToLoginPageOptions): void => {
const queryStr = callbackUrl ? `?callbackUrl=${callbackUrl}` : "";
let url = `/saturn/fullscreen/login${queryStr}`;
// 本地测试环境时使用子模块跳转
if (process.env.REACT_APP_LOCAL_TEST) {
console.warn("当前为本地测试环境,已关闭登录跳转官网");
window.location.href = url;
return;
}
if (process.env.NODE_ENV === "production") {
let loginUrl = `https://xxyy.co/#/login${queryStr}`;
// 测试环境
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论