Ошибка конфигурации Webpack — где ошибка?

Я пытаюсь запустить "node index.js" и получаю следующее сообщение об ошибке:

ValidationError: Недопустимый объект конфигурации. Webpack был инициализирован с использованием объекта конфигурации, который не соответствует схеме API.

  • configuration.module.rules[0] должен быть одним из следующих: ["..." | объект { компилятор?, зависимость?, описание данных?, принудительное выполнение?, исключение?, генератор?, включение?, эмитент?, issuerLayer?, слой?, загрузчик?, mimetype?, oneOf?, параметры?, синтаксический анализатор?, реальный ресурс?, разрешение?, ресурс?, ресурсный фрагмент?, ресурсный запрос?, правила?, побочные эффекты?, тест?, тип?, использование? }, ...] -> Правило. Подробности:
    • Configuration.module.rules[0].loader должен быть непустой строкой. -> Запрос загрузчика.

Вот мой webpack.config.js

    module.exports = {
  entry: [
    './main.js',
  ],
  output: {
    path: '/',
    filename: 'main-bundle.js',
  },
  module: {
    rules: [
      {
        test: /\.jsx?$/,
        exclude: /node_modules/,
        loader: ['babel-loader'],
      },
      { test: /\.css$/, loader: 'style-loader!css-loader' },
      { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file-loader' },
      {
        test: /\.(woff|woff2)$/,
        loader: 'url-loader',
        options: {
          prefix: 'font/',
          limit: '5000',
        },
      },
      {
        test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
        loader: 'url-loader',
        options: {
          limit: 10000,
          mimetype: 'application/octet-stream',
        },
      },
      {
        test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
        loader: 'url-loader',
        options: {
          limit: '10000',
          mimetype: 'image/svg+xml',
        },
      },
    ],
  },
};

Пожалуйста, помогите мне найти ошибку, я прочитал документацию и просто не могу ее найти!

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
0
125
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

res.end(<html><head><title>Hello, world!</title></head><body><h1>Hello, world!</h1>

HTML-код, который вы отправляете отсюда (и по всему коду), должен быть в виде строки, чтобы он мог проанализировать его, а затем отправить этот HTML-код позже, потому что вы не можете просто поместить HTML-код куда угодно в Javascript (и это не React для пример).

 // the right way to do it
 res.end("<html><head><title>Hello, world!</title></head><body><h1>Hello, world!</h1>")

Также заключите все другие вхождения html в свой код в кавычки, чтобы они тоже стали допустимыми строками.

Ответ принят как подходящий

Вам нужно передать html в строке res.end. Поскольку у вас есть несколько строк html, вы можете использовать шаблонные литералы (обратите внимание на обратные кавычки `..`), чтобы упростить задачу.

Используя шаблонные литералы, вы можете определять встроенные выражения с помощью ${expression}, которые будут объединены в результирующую строку. В вашем примере это используется для установки, например. имя хоста: ${os.hostname}:

res.end(`<html><head><title>Operating System Info</title></head><body><h1>Operating System Info</h1>
    <table>
        <tr><th>TMP Dir</th><td>${os.tmpdir()}</td></tr>
        <tr><th>Host Name</th><td>${os.hostname()}</td></tr>
        <tr><th>OS Type</th><td>${os.type()}</td></tr> 
        ${os.platform()}
        ${os.arch()} $os.release()}</td></tr>
        <tr><th>Uptime</th><td>${os.uptime()} ${util.inspect(os.loadavg())}</td></tr>
        <tr><th>Memory</th><td>total: ${os.totalmem()} free: ${freemem()}</td></tr>
        <tr><th>CPU's</th><td><pre>${util.inspect(os.cpus())}</pre></td></tr>
        <tr><th>Network</th><td><pre>${util.inspect(os.networkInterfaces())}</pre></td>,/tr>
        </table>
        </body></html>`);

@ Адам: почему ты не принял? Если ваш вопрос изменился, напишите новый...

eol 18.01.2021 12:08

Я получил несколько отрицательных голосов по этому вопросу и был заблокирован от вопросов. Руководство пользователя предписывает переписать вопрос, чтобы сделать его лучше для сообщества, поэтому я написал новые вопросы. Я действительно понятия не имею, как выйти из заблокированного статуса! Я не знаю, что я делаю! Можете ли вы дать несколько советов?

Adam 18.01.2021 12:50

Насколько я понимаю, вам следует просто улучшить существующий, а не переписывать его как совершенно новый вопрос. К сожалению, на самом деле вы мало что можете сделать, пока за ваши вопросы не проголосуют, боюсь. В любом случае, я проголосовал за ваш вопрос, так как, на мой взгляд, все было в порядке.

eol 18.01.2021 13:26

Я принял ваш ответ и также проголосовал за него. Спасибо, я ценю, что вы проголосовали за мой!

Adam 18.01.2021 13:29

Другие вопросы по теме