Особенно при переходе с webpack v1 на v2 было бы важно программно определить, какая версия webpack установлена, но я не могу похоже, найти соответствующий API.
Как определить установленную версию webpack
Ответ 1
Теперь webpack 4 предлагает свойство версии, которое можно использовать!
Ответ 2
Установленная версия:
Использование webpack CLI: (--version, -v Show version number [boolean])
webpack --version
или же:
webpack -v
Использование команды npm list:
npm list webpack
Результаты в [email protected]
:
<projectName>@<projectVersion> /path/to/project
└── [email protected]<version-range>
Использование команды списка пряжи:
yarn list webpack
Как это сделать программно?
В Webpack 2 представлены типы конфигурации.
Вместо экспорта объекта конфигурации вы можете вернуть функцию, которая принимает среду как аргумент. При запуске webpack вы можете указать ключи среды сборки через
--env
, например--env.production
или--env.platform=web
.
Мы будем использовать ключ среды сборки с именем --env.version
.
webpack --env.version $(webpack --version)
или же:
webpack --env.version $(webpack -v)
Для этого нам нужно будет сделать две вещи:
Измените наш файл webpack.config.js
и используйте DefinePlugin.
DefinePlugin позволяет создавать глобальные константы, которые можно настроить во время компиляции.
-module.exports = {
+module.exports = function(env) {
+ return {
plugins: [
new webpack.DefinePlugin({
+ WEBPACK_VERSION: JSON.stringify(env.version) //<version-range>
})
]
+ };
};
Теперь мы можем получить доступ к глобальной константе следующим образом:
console.log(WEBPACK_VERSION);
Доступна последняя версия:
Команда npm view вернет последнюю версию, доступную в реестре:
npm view [<@scope>/]<name>[@<version>] [<field>[.<subfield>]...]
Для использования webpack:
npm view webpack version
Ответ 3
Для тех, кто использует yarn
yarn list webpack
выполнит трюк
$ yarn list webpack
yarn list v0.27.5
└─ [email protected]
Done in 1.24s.
Ответ 4
При использовании Angular CLI v7+ версия webpack печатается на выходе ng version
:
-> ng version
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _' | | | | |/ _' | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 7.0.6
Node: 11.0.0
OS: darwin x64
Angular: 7.1.0
... animations, cdk, common, compiler, compiler-cli, core, forms
... http, language-service, material, platform-browser
... platform-browser-dynamic, router
Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.10.6
@angular-devkit/build-angular 0.10.6
@angular-devkit/build-optimizer 0.10.6
@angular-devkit/build-webpack 0.10.6
@angular-devkit/core 7.0.6
@angular-devkit/schematics 7.0.6
@angular/cli 7.0.6
@ngtools/webpack 7.0.6
@schematics/angular 7.0.6
@schematics/update 0.10.6
rxjs 6.3.3
typescript 3.1.6
webpack 4.19.1
Ответ 5
Просто еще один способ, еще не упомянутый:
Если вы установили его локально в проект, откройте папку node_modules и проверьте ваш модуль webpack.
$cd/node_modules/webpack/package.json
Откройте файл package.json и посмотрите версию