Разница между заданием npm и командной строкой

Я настроил веб-пакет для своего расширения webextension. В package.json я определил следующий сценарий:

"scripts": {
  "start": "webpack --config webpack.config.js"
},

поэтому webpack можно запустить с помощью одного из этих двух вариантов:

  • npm запустить запуск
  • webpack --config webpack.config.js

Но хотя npm run start работает нормально, прямой вызов webpack --config webpack.config.js не работает. Вот мой код: https://github.com/lhk/webextensions-webpack-boilerplate

Вы можете воспроизвести проблему, выполнив следующие действия:

git clone https://github.com/lhk/webextensions-webpack-boilerplate
cd webextensions-webpack-boilerplate
npm install
tsc -p tsconfig.json
webpack --config webpack.config.js

Сообщение об ошибке:

clean-webpack-plugin: /home/lhk/.local/share/Trash/files/temp.2/webextensions-webpack-boilerplate/dist has been removed.
(node:21823) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
/usr/lib/node_modules/webpack/lib/Chunk.js:827
        throw new Error(
        ^

Error: Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoint instead
    at Chunk.get (/usr/lib/node_modules/webpack/lib/Chunk.js:827:9)
    at /home/lhk/.local/share/Trash/files/temp.2/webextensions-webpack-boilerplate/node_modules/extract-text-webpack-plugin/dist/index.js:176:48
    at Array.forEach (<anonymous>)
    at /home/lhk/.local/share/Trash/files/temp.2/webextensions-webpack-boilerplate/node_modules/extract-text-webpack-plugin/dist/index.js:171:18
    at AsyncSeriesHook.eval [as callAsync] (eval at create (/usr/lib/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:32:10), <anonymous>:7:1)
    at AsyncSeriesHook.lazyCompileHook (/usr/lib/node_modules/webpack/node_modules/tapable/lib/Hook.js:154:20)
    at Compilation.seal (/usr/lib/node_modules/webpack/lib/Compilation.js:1215:27)
    at hooks.make.callAsync.err (/usr/lib/node_modules/webpack/lib/Compiler.js:541:17)
    at _err0 (eval at create (/usr/lib/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:32:10), <anonymous>:11:1)
    at _addModuleChain (/usr/lib/node_modules/webpack/lib/Compilation.js:1066:12)
    at processModuleDependencies.err (/usr/lib/node_modules/webpack/lib/Compilation.js:982:9)
    at _combinedTickCallback (internal/process/next_tick.js:132:7)
    at process._tickCallback (internal/process/next_tick.js:181:9)

Системная информация:

  • версия узла: v8.12.0
  • версия npm: 6.4.1
  • операционная система: ubuntu 18.04 (64 бит)

При запуске webpack --config webpack.config.js напрямую через интерфейс командной строки вы используете глобально установленную версию webpack. Когда вы запускаете npm run start, npm использует локально установленную версию webpack, то есть версию, найденную в каталоге webextensions-webpack-boilerplate/node_modules/.bin. Так что, возможно, есть различия в версиях между глобально и локально установленным webpack.

RobC 28.09.2018 12:11

Вы можете проверить, какие версии webpack установлены как локально, так и глобально, запустив: 1)cd webextensions-webpack-boilerplate2)npm ls --depth 0 webpack (для локальной версии) 3)npm ls -g --depth 0 webpack (для глобальной версии).

RobC 28.09.2018 12:26
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
118
0

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