aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-10-27 21:38:59 +0800
committercrupest <crupest@outlook.com>2020-10-27 21:38:59 +0800
commit1c69272c2aed2b0b1e6b1f1f31dfdb635151a5af (patch)
tree3702767c7712212c695e995c8ff0b404fee5b423
parent2f410b62f06bba795ccdff06a28768148376bb04 (diff)
downloadtimeline-1c69272c2aed2b0b1e6b1f1f31dfdb635151a5af.tar.gz
timeline-1c69272c2aed2b0b1e6b1f1f31dfdb635151a5af.tar.bz2
timeline-1c69272c2aed2b0b1e6b1f1f31dfdb635151a5af.zip
...
-rw-r--r--FrontEnd/package.json10
-rw-r--r--FrontEnd/src/app/App.tsx3
-rw-r--r--FrontEnd/src/app/i18n.ts12
-rw-r--r--FrontEnd/webpack.config.dev.js15
4 files changed, 17 insertions, 23 deletions
diff --git a/FrontEnd/package.json b/FrontEnd/package.json
index 65c5cbe2..12f3fbea 100644
--- a/FrontEnd/package.json
+++ b/FrontEnd/package.json
@@ -20,7 +20,6 @@
"react": "^17.0.1",
"react-bootstrap": "^1.4.0",
"react-dom": "^17.0.1",
- "react-hot-loader": "^4.13.0",
"react-i18next": "^11.7.3",
"react-inlinesvg": "^2.1.1",
"react-responsive": "^8.1.0",
@@ -36,7 +35,7 @@
"xregexp": "^4.3.0"
},
"scripts": {
- "start": "webpack-dev-server --config ./webpack.config.dev.js",
+ "start": "webpack serve --config ./webpack.config.dev.js",
"build": "webpack --config ./webpack.config.prod.js",
"lint": "eslint src/ --ext .js --ext .jsx --ext .ts --ext .tsx"
},
@@ -62,7 +61,7 @@
"@babel/preset-env": "^7.12.1",
"@babel/preset-react": "^7.12.1",
"@babel/preset-typescript": "^7.12.1",
- "@hot-loader/react-dom": "^17.0.0",
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.4.2",
"@types/classnames": "^2.2.10",
"@types/lodash": "^4.14.162",
"@types/node": "^14.14.5",
@@ -96,13 +95,16 @@
"postcss-loader": "^4.0.4",
"postcss-preset-env": "^6.7.0",
"prettier": "^2.1.2",
+ "querystring-es3": "^0.2.1",
+ "react-refresh": "^0.9.0",
"sass": "^1.27.0",
"sass-loader": "^10.0.4",
"style-loader": "^2.0.0",
"ts-loader": "^8.0.7",
+ "type-fest": "^0.18.0",
"typescript": "^4.0.5",
"url-loader": "^4.1.1",
- "webpack": "^5.2.0",
+ "webpack": "^5.2.1",
"webpack-chain": "^6.5.1",
"webpack-cli": "^4.1.0",
"webpack-dev-server": "^3.11.0",
diff --git a/FrontEnd/src/app/App.tsx b/FrontEnd/src/app/App.tsx
index b68eddb6..4e53d4da 100644
--- a/FrontEnd/src/app/App.tsx
+++ b/FrontEnd/src/app/App.tsx
@@ -1,6 +1,5 @@
import React from "react";
import { BrowserRouter as Router, Route, Switch } from "react-router-dom";
-import { hot } from "react-hot-loader/root";
import AppBar from "./views/common/AppBar";
import LoadingPage from "./views/common/LoadingPage";
@@ -81,4 +80,4 @@ const App: React.FC = () => {
}
};
-export default hot(App);
+export default App;
diff --git a/FrontEnd/src/app/i18n.ts b/FrontEnd/src/app/i18n.ts
index cdced7bf..aeac1f1f 100644
--- a/FrontEnd/src/app/i18n.ts
+++ b/FrontEnd/src/app/i18n.ts
@@ -18,18 +18,10 @@ const backend: BackendModule = {
}
if (language === "en") {
- const res = (
- await import(
- /* webpackChunkName: "locales-en" */ "./locales/en/translation"
- )
- ).default;
+ const res = (await import("./locales/en/translation")).default;
success(res);
} else if (language === "zh-cn" || language === "zh") {
- const res = (
- await import(
- /* webpackChunkName: "locales-zh" */ "./locales/zh/translation"
- )
- ).default;
+ const res = (await import("./locales/zh/translation")).default;
success(res);
} else {
error(`Language ${language} is not supported.`);
diff --git a/FrontEnd/webpack.config.dev.js b/FrontEnd/webpack.config.dev.js
index c88e1aaf..937ab3fb 100644
--- a/FrontEnd/webpack.config.dev.js
+++ b/FrontEnd/webpack.config.dev.js
@@ -1,24 +1,23 @@
const path = require("path");
const webpack = require("webpack");
+const ReactRefreshWebpackPlugin = require("@pmmmwh/react-refresh-webpack-plugin");
const config = require("./webpack.common");
config.mode("development");
-config.entry("index").add("react-hot-loader/patch");
-
config.module
.rule("ts")
.use("babel")
.options({
- plugins: ["react-hot-loader/babel"],
+ plugins: ["react-refresh/babel"],
});
config.module
.rule("js")
.use("babel")
.options({
- plugins: ["react-hot-loader/babel"],
+ plugins: ["react-refresh/babel"],
});
config.module
@@ -37,16 +36,18 @@ config.module
config.devtool("eval-cheap-module-source-map");
-config.resolve.alias.set("react-dom", "@hot-loader/react-dom");
+config.resolve.set("fallback", {
+ querystring: require.resolve("querystring-es3"),
+});
config.devServer
.contentBase(path.resolve(__dirname, "public/"))
.host("0.0.0.0")
.port(3000)
.historyApiFallback(true)
- .hotOnly(true)
- .allowedHosts.add(".myide.io");
+ .hotOnly(true);
config.plugin("hot").use(webpack.HotModuleReplacementPlugin);
+config.plugin("react-refresh").use(new ReactRefreshWebpackPlugin());
module.exports = config.toConfig();