Як визначити встановлену версію веб-пакета


Відповіді:


127

Встановлена ​​версія:

Використання веб- пакета CLI :(--version, -v Show version number [boolean])

webpack --version

або:

webpack -v

За допомогою команди npm list :

npm list webpack

Результати в name@version-range:

<projectName>@<projectVersion> /path/to/project
└── webpack@<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>]...]


Для використання веб-пакета:

npm view webpack version

3
Отже, webpack не має API, який повертає його версію, і я повинен використовувати команду оболонки?
доберкофлер

1
це чудово працює через cli .... але як би це зробити програмно? (він же: усередині файлу сценарію)
Моріс

Я включив спосіб програмного вилучення версії webpack та використання її як глобальної константи всередині будь-якого файлу.
Рікі,

ну, мені довелося друкуватиnpx webpack --version
Паоло

@doberkofler має (зараз правильну) відповідь, і вона навіть позначена як правильна відповідь! stackoverflow.com/a/52143627/3221576 Ви не можете покластися на нього, webpack -vоскільки це передбачає, що поточна оболонка webpackтака ж, як і у вашій програмі.
KCE

16

Для тих, хто користується yarn

yarn list webpack зробить трюк

$ yarn list webpack
yarn list v0.27.5
└─ webpack@2.6.1
Done in 1.24s.

8

Ще один спосіб, про який ще не згадувалося:

Якщо ви встановили його локально в проект, відкрийте папку node_modules і перевірте модуль веб-пакета.

$cd /node_modules/webpack/package.json

Відкрийте файл package.json і перегляньте версію

введіть тут опис зображення


Я впевнений, ви можете cdувійти у файл
sportzpikachu

6

webpack 4 тепер пропонує властивість версії, яку можна використовувати!


1
Це означає, що скрізь, де у вас є webpackзмінна (наприклад, у вашому файлі установки / конфігурації), ви можете просто зателефонувати, webpack.versionі ви повернете рядок версії форми "x.y.z".
KCE

6

Якщо використовується Angular CLI v7 +, версія веб-пакета друкується на виході 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

У кутовій 10 веб-пакет не входить до списку ng version. Якщо ви використовуєте власну конфігурацію webpack @angular-builders/custom-webpack, спробуйте npm list webpack, вона показала мені використану версію webpack.
Тоні

2

Помістіть webpack -vу свій package.json :

{
  "name": "js",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "webpack -v",
    "dev": "webpack --watch"
  }
}

Потім введіть в консоль:

npm run build

Очікуваний результат повинен виглядати так:

> npm run build

> js@1.0.0 build /home/user/repositories/myproject/js
> webpack -v

4.42.0

0

У CLI

$ webpack --version
    
webpack-cli 4.1.0
    
webpack 5.3.2

У коді (час виконання вузла)

process.env.npm_package_devDependencies_webpack // ^5.3.2

або

process.env.npm_package_dependencies_webpack // ^5.3.2

У плагіні

compiler.webpack.version // 5.3.2
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.