Made hot reloading work and improved webpack stuff
This commit is contained in:
parent
fe5b187c0e
commit
d1c2b04c55
@ -11,7 +11,8 @@ module.exports = {
|
||||
],
|
||||
output: {
|
||||
path: path.resolve(rootDir, "public"),
|
||||
filename: "bundle.js"
|
||||
filename: "bundle.js",
|
||||
publicPath: "/",
|
||||
},
|
||||
resolve: {
|
||||
extensions: [".ts", ".tsx", ".js", ".json"],
|
||||
@ -36,6 +37,5 @@ module.exports = {
|
||||
new HtmlWebpackPlugin({
|
||||
template: "./app/index.html"
|
||||
}),
|
||||
new webpack.NamedModulesPlugin(),
|
||||
],
|
||||
};
|
||||
|
@ -8,10 +8,11 @@ module.exports = webpackMerge.strategy({
|
||||
devtool: "eval-source-map",
|
||||
entry: [
|
||||
"react-hot-loader/patch",
|
||||
"webpack-dev-server/client?http://localhost:8080",
|
||||
"webpack-hot-middleware/client",
|
||||
"webpack/hot/only-dev-server",
|
||||
],
|
||||
plugins: [
|
||||
new webpack.NamedModulesPlugin(),
|
||||
new webpack.HotModuleReplacementPlugin(),
|
||||
],
|
||||
devServer: {
|
||||
|
@ -38,6 +38,7 @@
|
||||
"@types/react-fontawesome": "^1.5.0",
|
||||
"@types/react-hot-loader": "^3.0.4",
|
||||
"@types/react-transition-group": "^1.1.1",
|
||||
"@types/webpack-hot-middleware": "^2.16.0",
|
||||
"classnames": "^2.2.5",
|
||||
"core-js": "^2.4.1",
|
||||
"express": "^4.15.4",
|
||||
@ -52,6 +53,7 @@
|
||||
"react-transition-group": "^1.2.0",
|
||||
"semantic-ui-css": "^2.2.10",
|
||||
"semantic-ui-react": "^0.72.0",
|
||||
"webpack-hot-middleware": "^2.19.1",
|
||||
"webpack-merge": "^4.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
@ -4,6 +4,6 @@ import serveApp from "./serveApp";
|
||||
|
||||
const app = express();
|
||||
|
||||
app.use(serveApp());
|
||||
serveApp(app);
|
||||
|
||||
export default app;
|
||||
|
@ -1,11 +1,30 @@
|
||||
import { Express } from "express";
|
||||
import * as webpack from "webpack";
|
||||
import * as webpackMiddleware from "webpack-dev-middleware";
|
||||
import * as webpackHotMiddleware from "webpack-hot-middleware";
|
||||
|
||||
/* tslint:disable-next-line:no-var-requires */
|
||||
const webpackConfig = require("../../app/webpack/config.js");
|
||||
|
||||
export default function serveApp() {
|
||||
return webpackMiddleware(
|
||||
webpack(webpackConfig),
|
||||
);
|
||||
type Logger = (message?: any, ...optionalParams: any[]) => void;
|
||||
|
||||
function makeLogFunction(fn: Logger = console.log): Logger {
|
||||
return (m, ...args) => fn("[webpack] " + m, ...args);
|
||||
}
|
||||
|
||||
export default function serveApp(app: Express) {
|
||||
const compiler = webpack(webpackConfig);
|
||||
app.use(webpackMiddleware(compiler,
|
||||
{
|
||||
noInfo: true,
|
||||
publicPath: webpackConfig.output.publicPath,
|
||||
log: makeLogFunction(),
|
||||
warn: makeLogFunction(console.warn),
|
||||
error: makeLogFunction(console.error),
|
||||
},
|
||||
));
|
||||
app.use(webpackHotMiddleware(compiler,
|
||||
{
|
||||
log: makeLogFunction(),
|
||||
}));
|
||||
}
|
||||
|
18
yarn.lock
18
yarn.lock
@ -109,6 +109,13 @@
|
||||
version "1.13.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.13.0.tgz#3044381647e11ee973c5af2e925323930f691d80"
|
||||
|
||||
"@types/webpack-hot-middleware@^2.16.0":
|
||||
version "2.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/webpack-hot-middleware/-/webpack-hot-middleware-2.16.0.tgz#4fe6b0bc077b43d4341c0c5b212d9198ab8b79a3"
|
||||
dependencies:
|
||||
"@types/connect" "*"
|
||||
"@types/webpack" "*"
|
||||
|
||||
"@types/webpack@*":
|
||||
version "3.0.10"
|
||||
resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-3.0.10.tgz#1d27db07df32109f8c882535b547aae4252fd53e"
|
||||
@ -3556,7 +3563,7 @@ querystring-es3@^0.2.0:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
|
||||
|
||||
querystring@0.2.0:
|
||||
querystring@0.2.0, querystring@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
|
||||
|
||||
@ -4745,6 +4752,15 @@ webpack-dev-server@^2.4.4:
|
||||
webpack-dev-middleware "^1.11.0"
|
||||
yargs "^6.0.0"
|
||||
|
||||
webpack-hot-middleware@^2.19.1:
|
||||
version "2.19.1"
|
||||
resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.19.1.tgz#5db32c31c955c1ead114d37c7519ea554da0d405"
|
||||
dependencies:
|
||||
ansi-html "0.0.7"
|
||||
html-entities "^1.2.0"
|
||||
querystring "^0.2.0"
|
||||
strip-ansi "^3.0.0"
|
||||
|
||||
webpack-merge@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.0.tgz#6ad72223b3e0b837e531e4597c199f909361511e"
|
||||
|
Loading…
x
Reference in New Issue
Block a user