Имя webpack не распознано как имя командлета функции файла сценария или выполняемой программы

Обновлено: 02.07.2024

Купил на Udemy видеокурс «Практический JavaScript» от Ивана Петриченко, но моих знаний для просмотра оказалось явно маловато. Постоянно вылезают проблемы, с которыми раньше не сталкивался. Так что решил сделать для себя краткий конспект — как решал ту или иную проблему. Первое, с чем столкнулся — не запускается сборка проекта.

Оказалось, что нужно глобально установить пакет gulp-cli :

Хорошо, следующая попытка запустить gulp :

Политика Windows выполнения скриптов запрещает выполнять эти самые скрипты. Узнать текущее значение политики можно командой:

Чтобы разрешить выполнение файлов с расширением ps1 , т.е. чтобы запускать скрипты PowerShell в Windows, выполняем команду:

Причем PowerShell для выполнения этой команды надо запускать от имени администратора.

Файл gulpfile.js для сборки проекта:

Слайдер на странице

В курсе предлагается доработать проект — это простой landing на несколько экранов. Для создания слайдера используется jquery-плагин slick . На странице index.html подключаются библиотека jQuery, js-файл плагина (все файлы плагина находятся в директории src/assets/slick ) и js-файл слайдера slider.js .

В окончательном варианте проекта весь js-код будет в файле dist/script.js . Поэтому удаляем из index.html подключение трех js-файлов, вместо этого подключаем один файл script.js . Потом устанавливаем пакеты jquery и slick-carousel с помощью менеджера пакетов.

Кроме того, создаем файл src/js/main.js , где будем подключать все модули:

Непонятно только — для работы плагина slick нужно как-то опубликовать директорию node_modules/slick-carousel/slick , потому что в index.html подключаются стили из этой директории. Но мы продолжаем публиковать директорию src/assets/slick , которая досталась нам от предыдущего разработчика.

Модальное окно

При клике на определенные элементы нужно показывать модальное окно. Создаем директорию src/js/modules , а внутри нее — файл modals.js .

Все модальные окна похожи, есть только незначительные отличия в css-селекторах, по которым к ним можно обращаться:

И осталось только изменить src/js/main.js :

Переключение вкладок

В двух местах landing-а есть вкладки, но пока нет возможности их переключать — это следующая задача, которую будем решать.

Создаем новый модуль tabs.js в директории modules :

И осталось только изменить src/js/main.js :

Отправка простой формы

Внутри модальных окон есть формы. Их нужно отправлять посредством ajax и захватывать все введенные данные. Создаем новый модуль forms.js в директории modules :

Сервер просто отправляет post-данные обратно в виде строки:

И осталось только изменить src/js/main.js :

Отправка сложной формы

Для начала нам надо решить проблему закрытия первого и второго окна при клике на кнопку «Далее» — нам не нужно, чтобы модальные окна мешали друг другу. Для этого добавим атрибут data-modal для всех модальных окон на странице. И теперь можем в модуле modals.js отбирать все окна и закрывать их перед открытием нового.

В первом модальном окне надо выбрать форму балкона. Собственно говоря, это вкладки — при клике на маленькую картинку показывается увеличенное изображение.

Модуль для работы с вкладками у нас уже есть, надо только в main.js добавить вызов tabs() с нужными селекторами.

Но при показе содержимого вкладок надо использовать другое значение свойства display — это inline-block вместо block .

Теперь будем все значения, которые выбрал пользователь на первой и второй вкладке, сохранять в переменную modalState :

Для этого создаем новый модуль changeModalState.js в директории modules :

Изменяем модуль form.js , чтобы перед отправкой формы из третьего модального окна — добавить к отправке на сервер данные из первого и второго окна.

И осталось только добавить атрибут data-calc для формы в третьем модальном окне:

Таймер окончания акции

На странице есть таймер, который отсчитывает дни, часы и минуты до оконцания акции. Создаем новый модуль timer.js в директории modules :

В файле main.js задаем время окончания акции и запускаем таймер:

Изображение в модальном окне

На странице есть галерея выполненных работ, нужно при клике по изображению открывать большое изображение с затемнением остальной страницы.

Создаем новый модуль images.js в директории modules :

И осталось использовать новый модуль в файле main.js :

Небольшие улучшения

При открытии модального окна страница дергается вправо. Это потому, что для body мы устанавливаем свойсто overflow в значение hidden . Давайте это исправим — будем добавлять margin-left для body — который будет равен ширине scroll .

Элемент "webpack" не может быть распознан как имя командлета, функции, файла сценария или исполняемой программы .

Причина этой ошибки: в Windows10 ваш веб-пакет частично установлен и не добавлен в переменные системной среды, поэтому консоль не может найти команду веб-пакета. Есть следующие способы решить эту проблему:

  • Первый способ (лично предпочитаю этот), найти корневой каталог проектаpackage.jsonФайл, настроить опцию «скрипты», настроить плюс ”build“:”webpack“

Затем введите в командной строке npm run build , Просто используйте npm для запуска webpack.

  • Второй метод, в корневом каталоге вашего проекта есть папка node_modules, в этой папке есть папка .bin, просто добавьте этот путь в параметр PATH системной среды.

Конкретный путь xxx\node_modules\.bin\ , Передний xxx заменяется корневым каталогом вашего проекта, например моим: G:\exercise\life\node_modules\.bin\ , Вы можете перейти прямо в каталог .bin и скопировать его.

Переменные средыМой компьютер-> Свойства-> Дополнительные настройки-> Переменные среды-> ПУТЬ


  • Третий метод - глобальная установка веб-пакета.(Не рекомендуется)
    Почему это не рекомендуется? Официальное объяснение сайта:

Интеллектуальная рекомендация

Поверните строку в целые числа

Тема Описание Преобразуйте строку в целое число (реализация функции integer.valueof (строка), но строка не совпадает 0), требуя функции библиотеки, которая нельзя использовать для преобразования целых.

Docker создает репликацию Redis Master-Slave

Centos установить докер быстрый старт докера Создать Dockerfile Поместите файл на сервер Linux, создайте папку / usr / docker / redis и поместите его в этот каталог Выполните следующий код в каталоге .


Установка GateOne на новом CentOS7

Установка GateOne на новом CentOS7 В последнее время исследуются такие инструменты, как WebSSH2, в настоящее время требуется встроить терминал ssh в веб-приложение и найти GateOne. GateOne - это веб-в.


Примечания к исследованию Qt4 (5), QWaitCondition of QThread Learning


Практические занятия: решения проблем системы управления обучением

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

Вам также может понравиться


искробезопасная практика (5) обратный индекс

задний план Поисковые системы обычно создают инвертированный индекс ключевых слов. Ключевое слово - индекс, за которым следуют веб-страницы, содержащие ключевое слово. На этот раз, используя данные мо.


Решение центра тяжести неправильного многоугольника

Справочник статей Во-первых, решение центра тяжести неправильных многоугольников 1.1 Метод расчета треугольника центра тяжести 1.2 Метод расчета площади треугольника 1.3 Метод расчета площади полигона.


Я попытался установить , но у меня появилась следующая ошибка оболочки питания:

+ CategoryInfo: ObjectNotFound: (pip: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

  • 1 запустите windows cmd, перейдите в каталог сценариев python (например, cd C: \ Python27 \ Scripts), затем запустите pip
  • 1 Добавить пункт в PATH

Эта ошибка появляется в окнах, когда кто-то пытается использовать pip в командной строке. Чтобы решить эту ошибку в Windows, вы должны объявить переменную пути, выполнив следующие действия:

Шаг 1 - Щелкните правой кнопкой мыши "Мой компьютер" или "Этот компьютер".
Шаг 2 - Щелкните Свойства
Шаг 3 - Щелкните Расширенные настройки системы

  • Перезапуск командной строки важен, даже открытие новой вкладки (как в новом терминале Microsoft) не сработает.

Это потому, что путь, по которому находится , не находится в вашей системной переменной PATH, поэтому cmd не может найти pip, простое исправление будет заключаться в том, чтобы перейти в каталог, где находится , и запустить, если оттуда, как это

Но лучшее решение - добавить его в переменную PATH. Откройте командную строку с правами администратора и запустите

который добавляет python в ваш PATH, вы можете проверить списки путей в вашей переменной пути, запустив

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

Теперь вы можете запустить pip.

  • alert: перезапишет существующее значение
  • 1 Спасибо, что указали на это. Я обновил ответ, чтобы решить эту проблему

Я обнаружил, что использование PowerShell PIP не распознается, но в CMD это так.

Убедитесь, что вы действительно используете cmd, а не PowerShell для его запуска.

По сути, вам нужно добавить путь к вашей установке pip в системную переменную PATH.

Первый вариант

Загрузите pip, изменив установку Pyton.

Шаг 1 - Открыть Приложения и функции

Шаг 2 - Найдите Python и щелкните по нему

Шаг 3 - Нажмите Изменить

Шаг 4 - Выберите

Шаг 5 - Выберите и установите все

Это установит пип и добавьте оба, Python а также пип в переменные вашего окружения.

Второй вариант

По умолчанию, пип установлен в

Чтобы добавить путь к вашей установке pip в переменную PATH следуйте этим шагам.

Шаг 1 - Найдите переменные среды и открыть Отредактируйте переменные системной среды

Шаг 2 - Открытые переменные среды .

Шаг 3. Найдите свою переменную и выберите Изменить.

Шаг 4 - Вставьте местоположение в свой пип установка (по умолчанию )

Попробуй это. У меня сработало установка другой библиотеки:

  1. Откройте CMD от имени администратора одним из следующих способов:

Найдите путь к вашему приложению Python, то есть папку, в которую вы изначально установили Python. В моем случае путь к приложению Python:

C: \ Users \ Admin \ AppData \ Local \ Programs \ Python \ Python38

  1. Напишите свою команду python сейчас и нажмите ввод, например:

Просто переустановите python и нажмите добавить в PATH в установщике!

Если первое решение не сработало, обратите внимание на свой путь, есть небольшой шанс вместо написания:

если вы не можете выполнить в Visual Studio, сначала запишите его в cmd, закройте и откройте свою визуальную студию.

Новый участник ismail PANDA - новый участник этого сайта. Позаботьтесь о разъяснениях, комментариях и ответах. Ознакомьтесь с нашим Кодексом поведения.

add-migration: термин "add-migration" не распознается как имя командлета, функции, файла сценария или исполняемой программы. Проверьте правильность написания имени или, если включен путь, проверьте правильность пути и повторите попытку.

enter image description here

Это не совсем то, что имеет OP, но, по крайней мере, для ядра dotnet, это также может быть вызвано не установкой Microsoft.EntityFrameworkCore.Tools nuget Microsoft.EntityFrameworkCore.Tools , который используется для команд диспетчера пакетов в Visual Studio и команде линия.

ответил(а) 2017-11-18T12:17:00+03:00 3 года, 12 месяцев назад

Что я должен был сделать.

1) Инструменты → Nuget Package Manger → Настройки диспетчера пакетов

2) Вкладка "Общие"

3) Очистить все кеши NuGet

4) Перезапустить Visual Studio

ответил(а) 2017-09-03T00:47:00+03:00 4 года, 2 месяца назад

У меня была такая же проблема, и я просто закрыл консоль диспетчера пакетов, а затем перезапустил Visual Studio.

ответил(а) 2017-09-11T03:36:00+03:00 4 года, 2 месяца назад

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

enter image description here

Также эта ссылка может помочь, если выпадающий список невыполненных проектов по умолчанию не будет заполнен. Выпадающий список Project Project Console по умолчанию для NuGet пуст

Надеюсь это поможет! Если не дайте мне знать, и я удалю ответ (я должен был использовать ответ, потому что не могу прокомментировать 50 репутации) Приветствия!

В консоли nuget проверьте, выбран ли выбранный проект по умолчанию. Задайте этот проект как проект запуска

Читайте также: