Команда webpack не работает
Я новичок в Node Js и Webpack. Я попытался запустить проект с загрузчиками модулей.
Во-первых, я установил nodeJs и NPM и создал новый каталог под названием tutorial
. Я использовал командную строку, чтобы перейти в этот каталог, а затем выполнил следующую команду npm init
, а затем установил веб-пакет через npm
, используя следующую команду:
npm install -S webpack
Первая команда установила веб-пакет локально в проект в каталоге 'node-modules', и я могу запустить свой проект, выполнив следующее:
nodejs node-modules/webpack/bin/webpack.js
Проблема в том, что я должен поместить свой файл webpack.config.js
в этот каталог, который я хочу разместить в корне моего проекта.
Одним из решений этой проблемы была глобальная установка веб-пакета на моей машине, что я и сделал с помощью следующей команды:
npm install -g webpack
Это установленный Webpack, и теперь у меня есть команда Webpack. Однако эта команда, похоже, не работает или вообще ничего не делает. Когда я пытаюсь запустить его из корневого каталога моего проекта, он вообще ничего не делает (см. снимок экрана)
![enter image description here]()
Пожалуйста, скажите мне, что я делаю неправильно!
Ответы
Ответ 1
webpack
находится не только в вашем каталоге node-modules/webpack/bin/
, но и в node_modules/.bin
.
У вас есть команда npm bin
, чтобы получить папку, где npm будет устанавливать исполняемые файлы.
Вы можете использовать свойство scripts
вашего package.json
для использования webpack из этого каталога, который будет экспортироваться.
"scripts": {
"scriptName": "webpack --config etc..."
}
Например:
"scripts": {
"build": "webpack --config webpack.config.js"
}
Затем вы можете запустить его с помощью:
npm run build
Или даже с аргументами:
npm run build -- <args>
Это позволит вам иметь webpack.config.js
в корневой папке вашего проекта, не имея веб-сервера в глобальном масштабе или имеющего конфигурацию вашего веб-пакета в папке node_modules
.
Ответ 2
npm i webpack -g
устанавливает глобальный веб-пакет в вашей системе, что делает его доступным в окне терминала.
Ответ 3
Мне пришлось переустановить веб-пакет, чтобы он работал с моей локальной версией веб-пакета, например:
$ npm uninstall webpack
$ npm i -D webpack
Ответ 4
Вы можете запустить npx webpack
. Команда npx, которая поставляется с Node 8.2/npm 5.2.0 или выше, запускает двоичный файл webpack (./node_modules/.bin/webpack) пакета webpack.
Источник информации: https://webpack.js.org/guides/getting-started/
Ответ 5
Самый быстрый способ, чтобы получить эту работу, - это использовать веб-пакет из другого места, это остановит вас, чтобы установить его на глобальном уровне или если npm run webpack
завершается с ошибкой.
Когда вы устанавливаете webpack с номером npm, он попадает в папку "node_modules\.bin
" вашего проекта.
в командной строке (как администратор)
- перейдите к расположению проекта, где находится ваш webpack.config.js.
- в командной строке введите
"C:\Users\..\ProjectName\node_modules\.bin\webpack" --config webpack.config.vendor.js
Ответ 6
Установка веб-пакета с опцией -g устанавливает веб-пакет в папку в
C:.\Users\& л;.profileusername>\AppData\Roaming\NPM\node_modules
то же самое с webpack-cli и webpack-dev-server
За пределами глобальных node_modules создается ссылка для запуска веб-пакета из командной строки
C:.\Users\& л;.profileusername>\AppData\Roaming\NPM
чтобы сделать это локально, я сделал следующее
- переименовал папку webpack в глобальных node_modules в _old
- установленный веб-пакет локально в рамках проекта
- отредактировал командную ссылку webpack.cmd и указал webpack.js заглянуть в мою локальную папку node_modules внутри моего приложения
Проблема с этим подходом заключается в том, что вам придется поддерживать ссылки для каждого вашего проекта. Иного пути нет, так как вы используете редактор командной строки для запуска команды webpack при установке с опцией -g.
Поэтому, если у вас есть proj1, proj2 и proj3 с установленными локальными узлами_модулей и локальным веб-пакетом (не использующим -g при установке), то вам придется создавать не активные -g имена активных ссылок, а не просто веб-пакет.
Примером здесь может быть создание webpack_proj1.cmd, webpack_proj2.cmd и webpack_proj3.cmd
и в каждом cmd следуйте пунктам 2 и 3 выше
PS: не забудьте обновить свой package.json этими изменениями, иначе вы получите ошибки, так как он не найдет команду webpack
Ответ 7
На самом деле, я получил эту ошибку некоторое время назад. Есть два способа заставить это работать, согласно моим знаниям.
- Сервер не будет обновлять изменения, внесенные в index.js из-за некоторых ошибок в веб-папке. Итак, перезагрузите сервер.
- Обновление ваших node.js поможет избежать таких проблем.
Ответ 8
Просто удалите node и установите его еще раз. После этого все работает нормально.