@tingyun-common-web/upload-message-webpack-plugin
v2.0.3
Published
webpac插件,保存项目包一些相关信息。【该版本兼容低版本项目】
Downloads
3
Readme
说明
webpac插件,保存项目包一些相关信息。【该版本兼容低版本项目】
使用
1.安装插件 @tingyun-common-web/upload-message-webpack-plugin
npm install @tingyun-common-web/upload-message-webpack-plugin --save-dev
2.安装 @angular-builders/custom-webpack (根据当前angular项目确定使用版本)
npm install @angular-builders/[email protected] --save-dev
3.修改angular.json
"projects": {
...
// [project]是实际项目名
"[project]": {
...
"architect": {
...
"build": {
// 修改默认builder
// "builder": "@angular-devkit/build-angular:browser",
"builder": "@angular-builders/custom-webpack:browser",
"options": {
// 增加自定义webpack文件配置
"customWebpackConfig": {
// webpack配置文件名称, 名称自定义
"path": "./custom-webpack.config.js",
"replaceDuplicatePlugins": true
},
...
}
...
4.配置package.json
{
"name": "[project]",
// 实时修改版本
"version": "",
// 新增项目git地址
"url": "http://git.tingyun.com/app3/rum-app-web.git",
// 新增group 例:com.tingyun.web.app
"group": "com.tingyun.web.x",
// 新增product 例:app
"product": "x",
// 新增项目成员(记录该发版版本的参与人员,研发+测试,每次发版实时修改)
"contributors": [
// 开发
{
"name": "zhangjiaqi",
"email": "",
"roles": [
"dev"
]
},
// 测试
{
"name": "",
"email": "",
"roles": [
"test"
]
}
],
...
"dependencies": {
...
},
"devDependencies": {
...
}
}
5.修改/创建webpack配置文件 此处配置文件的生成位置取决于angular.json中配置的路径
const UploadMessageWebpackPlugin = require('@tingyun-common-web/upload-message-webpack-plugin');
const PackageJson = require('./package.json');
module.exports = (config) => {
if (config.mode === "production") {
if (!config.plugins) {
config.plugins = [];
}
config.plugins.push(
new UploadMessageWebpackPlugin({
'group': PackageJson.group,
'artifact': PackageJson.name,
'version': PackageJson.version,
'product': PackageJson.product,
'scm': {
'url': PackageJson.url
},
'contributors': PackageJson.contributors,
// 低版本项目加该参数
// 'lowVersion': true
})
)
}
return config;
}
插件执行测试结果:
- 本地:
- ng build --prod 不执行
- npm run build 不执行
- Dupload_package_metadata=true ng build --prod 执行
- Dupload_package_metadata=true npm run build 执行
- releasego环境:
- 默认不加Dupload_package_metadata=true 不执行
- 加入Dupload_package_metadata=true 执行
- 在releasego Jenkins中配置添加(例):