Особливо під час переходу від webpack v1 до v2, було б важливо програмно визначити, яка версія веб- пакета встановлена, але я не можу знайти відповідний API.
Особливо під час переходу від webpack v1 до v2, було б важливо програмно визначити, яка версія веб- пакета встановлена, але я не можу знайти відповідний API.
Відповіді:
Використання веб- пакета 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
npx webpack --version
webpack -v
оскільки це передбачає, що поточна оболонка webpack
така ж, як і у вашій програмі.
webpack 4 тепер пропонує властивість версії, яку можна використовувати!
webpack
змінна (наприклад, у вашому файлі установки / конфігурації), ви можете просто зателефонувати, webpack.version
і ви повернете рядок версії форми "x.y.z"
.
Якщо використовується 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
ng version
. Якщо ви використовуєте власну конфігурацію webpack @angular-builders/custom-webpack
, спробуйте npm list webpack
, вона показала мені використану версію webpack.
Помістіть 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
У 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