version.ts 1009 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // versionUpdatePlugin.js
  2. import fs from 'fs';
  3. import path from 'path';
  4. const writeVersion = (versionFile: any, content: any) => {
  5. // 写入文件
  6. fs.writeFile(versionFile, content, err => {
  7. if (err) throw err;
  8. });
  9. };
  10. export default (options: any) => {
  11. let config: any;
  12. console.log('加载插件');
  13. return {
  14. name: 'version-update',
  15. configResolved(resolvedConfig: any) {
  16. // 存储最终解析的配置
  17. config = resolvedConfig;
  18. },
  19. buildStart() {
  20. // 生成版本信息文件路径
  21. const file = config.publicDir + path.sep + 'version.json';
  22. // 这里使用编译时间作为版本信息
  23. const content = JSON.stringify({ version: options.version });
  24. if (fs.existsSync(config.publicDir)) {
  25. writeVersion(file, content);
  26. } else {
  27. fs.mkdir(config.publicDir, err => {
  28. console.log(err, '引入报错了');
  29. if (err) throw err;
  30. writeVersion(file, content);
  31. });
  32. }
  33. }
  34. };
  35. };