Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //webpack
- const HtmlWebPackPlugin = require("html-webpack-plugin");
- const path = require("path");
- module.exports = {
- entry: [path.join(__dirname, "../src/client/index.jsx")],
- output: {
- path: path.resolve(__dirname, "../dist"),
- filename: " bundle.js",
- publicPath: "/"
- },
- module: {
- rules: [
- {
- test: /\.jsx?$/,
- include: path.join(__dirname, "../src/client"),
- loader: "babel-loader"
- },
- {
- test: /\.html$/,
- loader: "html-loader"
- },
- {
- test: /\.(png|jpg|gif|svg)$/,
- use: [
- {
- loader: "file-loader",
- options: {
- name: "[name].[ext]",
- outputPath: "img/"
- }
- }
- ]
- },
- {
- test: /\.(otf|ttf)$/,
- loader: "file-loader",
- options: {
- name: "[name].[ext]",
- outputPath: "fonts/"
- }
- }
- ]
- },
- resolve: {
- extensions: [".js", ".jsx"],
- alias: {
- "@components": path.resolve(__dirname, "../src/client/components"),
- "@shared": path.resolve(__dirname, "../src/shared"),
- "@utils": path.resolve(__dirname, "../src/shared/utils"),
- "@assets": path.resolve(__dirname, "../src/client/assets"),
- "@images": path.resolve(__dirname, "../src/client/assets/img"),
- "@fonts": path.resolve(__dirname, "../src/client/assets/fonts"),
- "@serverMiddlewares": path.resolve(__dirname, "../src/server/middlewares")
- }
- },
- plugins: [
- new HtmlWebPackPlugin({
- template: "./src/client/public/index.html"
- })
- ]
- };
- //webpack-dev-server.js
- import webpack from "webpack";
- import webpackDevMiddleware from "webpack-dev-middleware";
- import webpackConfigDev from "../../webpack/webpack.dev";
- import webpackConfigProd from "../../webpack/webpack.prod";
- export default function webpackDevServer(app) {
- const env = (process.env.NODE_ENV || "development").trim();
- const compiler = webpack(
- env === "production" ? webpackConfigProd : webpackConfigDev
- );
- app.use(webpackDevMiddleware(compiler));
- app.set("env", env);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement