Почему% PUBLIC_URL% не заменяется в связанном индексе Webpack. html? - PullRequest
0 голосов
/ 12 апреля 2020

Я пытаюсь развернуть интерфейс моего веб-приложения, но при развертывании на моей хостинговой платформе (в настоящее время AWS Amplify / S3) - на веб-сайте

контент не отображается

Я создал приложение, используя create-react-app, поэтому структура проекта соответствует их стандартным (public, src папкам и т.д. c.).

Когда я запускаю приложение локально, оно работает нормально .

Из ошибок консоли и глядя на страницу index.html, сгенерированную веб-пакетом, видно, что она не заменяет поле %PUBLIC_URL%, которое следует заменить на каталог publi c на build.

Может кто-нибудь объяснить, как решить эту проблему?

Я включил файл webpack.config ниже, и полное репо можно найти здесь

const path = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')

const config = {
  entry: ['react-hot-loader/patch', './src/index.js'],
  output: {
    path: path.resolve(__dirname, 'build'),
    filename: 'bundle.js',
  },
  module: {
    rules: [
      {
        test: /\.(js|jsx)$/,
        use: 'babel-loader',
        exclude: /node_modules/,
      },
      {
        test: /\.css$/,
        use: ['style-loader', 'css-loader'],
      },
      {
        test: /\.svg$/,
        use: 'file-loader',
      },
      {
        test: /\.png$/,
        use: [
          {
            loader: 'url-loader',
            options: {
              mimetype: 'image/png',
            },
          },
        ],
      },
      {
        test: /\.(ttf|eot|woff|woff2)$/,
        use: 'file-loader',
      },
    ],
  },
  resolve: {
    extensions: ['.js', '.jsx'],
    alias: {
      'react-dom': '@hot-loader/react-dom',
    },
  },
  devServer: {
    contentBase: './build',
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: path.resolve('./public/index.html'),
    }),
  ],
}

module.exports = config
...