提交 30989a29 作者: yueyang.lv

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

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