Подтвердить что ты не робот

Команда 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

Пожалуйста, скажите мне, что я делаю неправильно!

4b9b3361

Ответ 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

чтобы сделать это локально, я сделал следующее

  1. переименовал папку webpack в глобальных node_modules в _old
  2. установленный веб-пакет локально в рамках проекта
  3. отредактировал командную ссылку 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 и установите его еще раз. После этого все работает нормально.