webpack 4 - Сбой при разборе модуля: неожиданный символ '�' (1: 0) в простом файле JS

1

Итак, сделаем несколько простых онлайн-обучения. Следуя этому руководству: https://www.valentinog.com/blog/webpack-tutorial/

В настоящее время просто пытаюсь получить.src/index.js для сборки в. /dist/main.js, запустив сборку npm run

В папке. /src кроме index.js нет ничего другого, и все содержимое. /src/index.js

window.console.log('hello world');

И я получаю эту ошибку в консоли.

Hash: 61965fd874c7fad84f98
Version: webpack 4.19.0
Time: 76ms
Built at: 09/16/2018 4:37:31 PM
 1 asset
Entrypoint main = main.js
[0] ./src/index.js 177 bytes {0} [built] [failed] [1 error]

WARNING in configuration
The 'mode' option has not been set, webpack will fallback to 'production'         
for this value. Set 'mode' option to 'development' or 'production' to enable     
defaults for each environment.
You can also set it to 'none' to disable any default behavior. Learn more: 
https://webpack.js.org/concepts/mode/

ERROR in ./src/index.js 1:0
Module parse failed: Unexpected character '�' (1:0)
You may need an appropriate loader to handle this file type.
(Source code omitted for this binary file)

Это не приведет к созданию пакета.

Однако, когда содержимое. /src/index.js ничего, и оно полностью пустое, оно строит отлично.

Содержимое main.js, когда оно создается в соответствии с указанным выше условием:

функция (e) {var t = {}; функция r (n) {if (t [n]) возвращает t [n].exports; var o = t [n] = {i: n, l:! 1, export: {}}; return e [n].call(o.exports, o, o.exports, r), ol =! 0, o.exports} rm = e, rc = t, rd = function (e, t, n) {ro (e, t) || Object.defineProperty(e, t, {enumerable:! 0, get: n})}, rr = function (e) {"undefined"! = typeof Symbol && Symbol. toStringTag && Object.defineProperty (е, Symbol.toStringTag, {значение: "Модуль"}), Object.defineProperty (е, "__ esModule", {значение: 0})}, В = функция (е, т) {если (1 & т && (e = r (e)), 8 & t) return e; if (4 & t && "object" == typeof e && e && e.__ esModule) return e; var n = Object.create(null); if (rr (n), Object.defineProperty(n, "default", {enumerable:! 0, value: e}), 2 & t && "string"! = typeof e) для (var o in e) rd (n, o, function (t) {return e [t ]}. bind (null, o)); return n}, rn = function (e) {var t = e && e.__ esModule? function() {return e.default}: function() {return e}; return rd ( t, "a", t), t}, ro = function (e, t) {return Object.prototype.hasOwnProperty.call(e, t)}, rp = "", r (rs = 0)} ([ функция (е, т) {}]);

Я сейчас нахожусь в тупике, webpack не должен нуждаться в специальном загрузчике для регулярных js, это мое понимание того, как это работает.

Дополнительная информация
узел -v: 10.4.1 (управляется с помощью nvm)
npm -v: 6.1.0
webpack: ^ 4.19.0
webpack-cli: ^ 3.1.0

  • 0
    Показать содержание main.js
  • 0
    отредактировал основной пост, добавив в него содержимое файла main.js, когда он компилируется, когда index.js пуст
Показать ещё 5 комментариев
Теги:
webpack

1 ответ

2
Лучший ответ

Ошибка, кажется, байт-ордер-знак (bom) Фил, упомянутый в комментариях. Решено, когда я пробовал это исправление: https://unix.stackexchange.com/questions/381230/how-can-i-remove-the-bom-from-a-utf-8-file на index.js, а затем построил снова.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню