Изменено построение моего проекта из папки publi c в подпапку dist, и это не сработает - PullRequest
0 голосов
/ 19 июня 2020

Изначально я обслуживал все свои ресурсы из папки publi c. Затем я хотел, чтобы мои ресурсы находились в папке dist, поэтому я отредактировал свои скрипты и файл webpack.config. js. Однако я заметил, что при запуске моего serve script, если я нахожусь на странице создания расходов http://127.0.0.1:8080/create и refre sh, приложение перестает работать. Я не могу понять, что делать, чтобы на live-сервере refre sh на странице создания расходов не нарушал работу приложения.

Вот мои скрипты из пакета. json:

"scripts": {
    "serve": "live-server public/",
    "build:dev": "webpack --mode=development",
    "build:prod": "webpack -p --env production",
    "server": "webpack-dev-server --open",
    "test": "jest --config=jest.config.json",
    "start": "node server/server.js",
    "heroku-postbuild": "npm run build:prod"
  },

А вот мой конфигурационный файл webpack:

const path = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const MiniCssExtractPlugin = require('mini-css-extract-plugin');

module.exports = (env) => {
    const isProduction = env === 'production'
    console.log(env);
    return {
        entry: './src/app.js',
        output: {
            path: path.join(__dirname, 'public', 'dist'),
            filename: 'bundle.js',
            publicPath: '/dist/'
        },
        module: {
            rules: [{
                test: /\.js$/,
                exclude: /node_modules/,
                use: ['babel-loader', 'eslint-loader']
            },
            {
                test: /\.s?css$/,
                use: [isProduction ? MiniCssExtractPlugin.loader : 'style-loader',
                {
                    loader: 'css-loader',
                    options: {
                        sourceMap: true
                    }
                },
                {
                    loader: 'sass-loader',
                    options: {
                        sourceMap: true
                    }
                }]
            }]
        },
        devtool: isProduction ? 'source-map' : 'inline-source-map',
        devServer: {
            contentBase: path.join(__dirname, 'public'),
            historyApiFallback: true,
            publicPath: '/dist/',
            port: 3000
        },
        plugins: [new HtmlWebpackPlugin({
            template: './src/index.html',
            filename: '../index.html'
        }), new MiniCssExtractPlugin({
            filename: 'styles.css'
        })]
    }
}

enter image description here

Мне нужна помощь в правильном обслуживании файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...