WebPack: точка входа недоопределена - PullRequest
0 голосов
/ 14 ноября 2018

Я делаю один из Обучающих программ по совместному использованию React, WebPack и Babel.

Хотя все работало как задумано (построено, скомпилировано и отрисовано правильно).

Я получаю сообщение об ошибке из веб-пакета, в котором говорится

Child html-webpack-plugin for "index.html":
     1 asset
    Entrypoint undefined = ./index.html
    [0] ./node_modules/html-webpack-plugin/lib/loader.js!./src/index.html 666 bytes {0} [built]

Мой файл конфигурации WebPack выглядит следующим образом:

const HtmlWebPackPlugin = require("html-webpack-plugin");
module.exports = {
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: "babel-loader"
        }
      },
      {
        test: /\.html$/,
        use: [
          {
            loader: "html-loader"
          }
        ]
      }
    ]
  },
  plugins: [
    new HtmlWebPackPlugin({
      template: "./src/index.html",
      filename: "./index.html"
    })
  ]
};

И моя структура файла выглядит следующим образом:

WebPack_Demo
  -dist
  -node_modules
  -src
    -javascript
      -components
        -Component1.js
        -Component2.js
    -index.html
    -index.js
  -.babelrc
  - package-lock.json
  - webpack.config.js

Кто-то еще получает ошибку после этого урока, но автор не обращается к ней.Хотя это не влияет на приложение, я все же хотел знать, как избавиться от этой ошибки.

1 Ответ

0 голосов
/ 15 ноября 2018

Я думаю, вы должны добавить свойства "entry" и "output" в файл конфигурации вашего веб-пакета.

Ваш вывод должен иметь «путь», указывающий на папку, в которой хранятся связанные файлы.

Тогда «filename» в HtmlWebpackPlugin должно указывать на эту папку

Вот как моя установка:

const path = require('path');

module.exports = {
  entry: {
    app: path.resolve(__dirname, '.','index.js')
  },
  output: {
    path: path.resolve(__dirname, '.', 'build'),   // ATTENTION
    publicPath: '/',
    filename: '[name].js'
  },
  devtool: 'source-map',
  plugins: [
    new HtmlWebpackPlugin({
       template: path.resolve('.', 'src', 'index.html'),
       chunks: [chunks],
       filename: path.join('.', 'build', 'index.html'),  // ATTENTION
    }),
    ....
  ],
  ....
}
...