HtmlWebpackInlineSourcePlugin TypeError: Невозможно прочитать свойство 'getHooks' из неопределенного - PullRequest
5 голосов
/ 27 февраля 2020

Я получаю сообщение об ошибке в заголовке при попытке создать следующий файл веб-пакета:

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const HtmlWebpackInlineSourcePlugin = require('html-webpack-inline-source-plugin');

module.exports = {
  module: {
    rules: [{
        test: /\.js$/,
        exclude: /(node_modules)/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env']
          }
        }
      },
      {
        test: /\.(scss)$/,
        use: [{
          loader: 'style-loader', // inject CSS to page
        }, {
          loader: 'css-loader', // translates CSS into CommonJS modules
        }, {
          loader: 'postcss-loader', // Run post css actions
          options: {
            plugins: function() { // post css plugins, can be exported to postcss.config.js
              return [
                require('precss'),
                require('autoprefixer')
              ];
            }
          }
        }, {
          loader: 'sass-loader' // compiles Sass to CSS
        }]
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: 'src/index.html',
      inlineSource: '.(js|css)$'
    }),
    new HtmlWebpackInlineSourcePlugin()
  ],

  entry: './src/index.js',

  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
  },

  mode: 'development'
};

Есть идеи почему?

FWIW Я использую рабочие пространства пряжи.

1 Ответ

3 голосов
/ 01 марта 2020

HtmlWebpackInlineSourcePlugin равно , вызывая getHooks метод HtmlWebpackPlugin во время компиляции

Этот метод доступен только в версии 4 и выше HtmlWebpackPlugin .

Именно поэтому документация рекомендует использовать эту версию и выше.

Вы можете получить эту версию, установив html-webpack-plugin@next

...