博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webpack打包时修改package.json的版本号,并输出相关版本
阅读量:4578 次
发布时间:2019-06-08

本文共 1492 字,大约阅读时间需要 4 分钟。

可直接修改的方式

{  plugins: [    function() {      // 修改package.json中的版本号      this.plugin('done', function() {        const pkgPath = path.join(__dirname, '/../package.json');        let pkg = fs.readFileSync(pkgPath);        pkg = JSON.parse(pkg);        pkg.version = '1.0.1';        fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2));      });    },    new webpack.DefinePlugin({      'process.env.MY_VERSION': JSON.stringify(require('../package.json').version)      // 项目中使用 process.env.MY_VERSION 输出    })  ];}

chainWebpack方式

import path from 'path';import fs from 'fs';import moment from 'moment';import { version } from '../src/defaultSettings';const CurrentVersion = `${version}.${moment().format("YYMMDD.HHmmss")}`;const setPackageJsonVersion = () =>{  const pkgPath = path.join(__dirname, '/../package.json');  let pkg = fs.readFileSync(pkgPath);  pkg = JSON.parse(pkg);  pkg.version = CurrentVersion;  fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2));}export default config => {  config.plugin('define').tap( args => {    if(process.env.NODE_ENV !== 'development'){      setPackageJsonVersion();      args[0].VERSION = JSON.stringify(CurrentVersion);   // 方式1:直接访问VERSION      args[0]['process.env.VERSION'] = JSON.stringify(CurrentVersion);    // 方式2:通过process.env.VERSION访问    }else{      args[0].VERSION = JSON.stringify(version);      args[0]['process.env.VERSION'] = JSON.stringify(version);    }    return args;  })}

转载于:https://www.cnblogs.com/adoctors/p/11263547.html

你可能感兴趣的文章
Android中的Handler,Looper,Message机制
查看>>
Roman Numeral Converter
查看>>
魔幻之翼的博客
查看>>
文件发送成功率低的问题(1)
查看>>
异步方法 async/await
查看>>
37 数组的概念
查看>>
去掉SrollView、GrdiView、ListView、ViewPager等滑动到边缘的光晕效果
查看>>
我选择的……
查看>>
akka actor初探
查看>>
linux清理Java环境
查看>>
SharedPreferences
查看>>
TCP协议
查看>>
高级IO-锁与进程和文件
查看>>
详解C#break ,continue, return
查看>>
java中使用session的一些细节
查看>>
浏览器输入服务器端口号来访问html网页
查看>>
hdu 6435 CSGO(最大曼哈顿距离)
查看>>
logback框架之——日志分割所带来的潜在问题
查看>>
链路追踪工具之Zipkin学习小记
查看>>
iOS中通讯录的开发
查看>>