Проблемы с разрешением модуля Webpack в Windows 10

У меня проблемы с разрешением имен модулей в Windows. Загрузчики установлены, но путь, используемый Webpack для их разрешения, неверен (обратите внимание на тот факт, что он объединяет путь модуля к рабочему каталогу ниже). Webpack запускается с помощью webpack-dev-server.

ERROR in ./~/css-loader?sourceMap&modules&localIdentName=[name]_[local]_[hash:base64:3]!./~/postcss-loader?parser=postcss-scss!./client/src/scripts/components/Main/Main.css
Module build failed: (SystemJS) ENOENT: no such file or directory, open 'C:\Users\Terry\Projects\django-react\C:\Users\Terry\Projects\django-react\node_modules\css-loader\index.js'
        Error: ENOENT: no such file or directory, open 'C:\Users\Terry\Projects\django-react\C:\Users\Terry\Projects\django-react\node_modules\css-loader\index.js'
            at Error (native)
        Error loading C:/Users/Terry/Projects/django-react/C:\Users\Terry\Projects\django-react\node_modules\css-loader\index.js
 @ ./client/src/scripts/components/Main/Main.css 4:14-225 13:2-17:4 14:20-231
 @ ./client/src/scripts/components/Main/Main.jsx
 @ ./client/src/index.js
 @ multi main
webpack: bundle is now VALID.

Соответствующая информация:

  • Windows 10
  • Узел 6.6.0
  • Я запускаю веб-пакет с babel-node через скрипт NPM
  • Webpack 2.1.0-beta.22
  • НПМ 3.10.3

РЕДАКТИРОВАТЬ: это обычно происходит только тогда, когда я делаю редактирование, которое вызывает горячую перезагрузку. Иногда это происходит, когда я запускаю webpack-dev-server в первый раз, но это происходит каждый раз, когда я редактирую исходный код.

1 ответ

Не уверен, что вы когда-нибудь поняли это, но я столкнулся с той же самой ошибкой с неверно сформированным путем node_modules при использовании веб-пакета в Windows 10. Я был очень разочарован, обнаружив, что никто не смог решить эту проблему, так как эта конкретная ошибка не кажется документироваться где-либо еще.

В своей собственной отладке я обнаружил, что эта ошибка происходит только с модулями загрузчика webpack, поэтому я покопался в webpack, чтобы отследить, откуда возникла ошибка. После некоторых копаний выяснилось, что это вызвано пакетом loader-runner, используемым webpack. Он пытается использовать System.import для разрешения модуля загрузчика, с откатом по требованию, когда System.import недоступен. В моем случае неверно сформированный путь node_modules генерировался System.import через systemjs. Кажется, что реализация systemjs System.import имеет ошибку, когда абсолютные пути используются в Windows, и, поскольку webpack передает абсолютный путь для загрузчиков, он выдает ошибку.

Я смог обойти эту проблему, отредактировав свою локальную копию загрузчика-загрузчика и закомментировав System.import, заставив вместо этого использовать require. Это, конечно, не очень хорошее долгосрочное решение, поэтому я все еще ищу что-то лучшее. Я только что попытался переключиться на пряжу, чтобы увидеть, может быть, это проблема зависимости npm, но этот обходной путь должен помочь вам начать работу, если вы все еще получаете эти ошибки в Windows.

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