Webpack add simulator web entry

This commit is contained in:
MrKBear 2022-02-22 22:08:12 +08:00
parent 2915bd304c
commit 9fd8d3da28
5 changed files with 79 additions and 1 deletions

View File

@ -65,6 +65,11 @@ const Entry = () => ({
LaboratoryPage: { LaboratoryPage: {
import: source("./Page/Laboratory/Laboratory.tsx"), import: source("./Page/Laboratory/Laboratory.tsx"),
dependOn: ["Model", "GLRender"] dependOn: ["Model", "GLRender"]
},
SimulatorWeb: {
import: source("./Page/SimulatorWeb/SimulatorWeb.tsx"),
dependOn: ["Model", "GLRender"]
} }
}); });

56
config/webpack.web.js Normal file
View File

@ -0,0 +1,56 @@
const {
Entry, Output, resolve, build,
TypeScriptRules, ScssRules,
HTMLPage, CssPlugin, AutoFixCssPlugin
} = require("./webpack.common");
const AllEntry = Entry();
module.exports = (env) => {
const config = {
entry: {
GLRender: AllEntry.GLRender,
Model: AllEntry.Model,
SimulatorWeb: AllEntry.SimulatorWeb
},
output: Output("[name].[contenthash].js"),
devtool: 'source-map',
mode: "development",
resolve: resolve(),
optimization: {
runtimeChunk: 'single',
chunkIds: 'named',
moduleIds: 'named',
splitChunks: {
chunks: 'all',
minSize: 1000
}
},
module: {
rules: [
TypeScriptRules(),
ScssRules()
]
},
plugins: [
HTMLPage("index.html", "Living Together | Simulator"),
CssPlugin(),
AutoFixCssPlugin()
],
devServer: {
static: {
directory: build("./"),
},
port: 12000,
}
};
return config;
};

View File

@ -7,7 +7,10 @@
"clean": "rimraf ./build/*", "clean": "rimraf ./build/*",
"hmr-lab": "webpack serve --open --config ./config/webpack.lab.js", "hmr-lab": "webpack serve --open --config ./config/webpack.lab.js",
"build-lab": "npm run clean & webpack --mode development --config ./config/webpack.lab.js", "build-lab": "npm run clean & webpack --mode development --config ./config/webpack.lab.js",
"release-lab": "npm run clean & webpack --mode production --no-devtool --config ./config/webpack.lab.js" "release-lab": "npm run clean & webpack --mode production --no-devtool --config ./config/webpack.lab.js",
"hmr-web": "webpack serve --open --config ./config/webpack.web.js",
"build-web": "npm run clean & webpack --mode development --config ./config/webpack.web.js",
"release-web": "npm run clean & webpack --mode production --no-devtool --config ./config/webpack.web.js"
}, },
"keywords": [ "keywords": [
"artwork", "artwork",

View File

@ -0,0 +1,14 @@
import { Component, ReactNode, createRef } from "react";
import { Entry } from "../Entry/Entry";
import "./SimulatorWeb.scss";
class SimulatorWeb extends Component {
private canvasContRef = createRef<HTMLDivElement>();
public render(): ReactNode {
return <div>Web</div>
}
}
Entry.renderComponent(SimulatorWeb);