You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
'use strict';
const fileHepler = require('./../fileHepler'); const basePath = require('./../path'); const clog = require('./../clog'); // const path = require('path');
let cssContentArray = [];
clog('\n\n\n'); clog('---开始拷贝--------------', 'red');
/** * 替换文件index * @param content * @param item * @returns {*} */ function replaceHash(content, item){ let cssReg = /((\..*?)\.css)$/; let contentarr = item.match(cssReg); let version = `.css?version=${Math.floor(new Date().getTime() / 1000)}`; let replce = { oldPath: item, newPath : item.replace(new RegExp(contentarr[2]),''), }; cssContentArray.push(replce); return content.replace(new RegExp(contentarr[1]), version); }
function init(){ fileHepler.readFile(basePath.indexHtmlFilePath) .then((res) => { let cssReg = /\/static\/.*?(\..*?)\.css/ig; let contentarr = res.match(cssReg); if (!contentarr) { clog('文件无更新', 'black'); return; } for (let i = 0; i < contentarr.length; i++) { res = replaceHash(res, contentarr[i]); }
fileHepler.writeFile(basePath.indexHtmlFilePath, res) .then(() => { clog('更新首页样式路径成功!', 'green'); }) .catch();
for (let k = 0; k < cssContentArray.length; k++) { let olpPath = basePath.cssOutputRoot + cssContentArray[k]['oldPath']; let newPath = basePath.cssOutputRoot + cssContentArray[k]['newPath']; fileHepler.renameFile(olpPath, newPath) .then(() => { clog(cssContentArray[k], 'green'); }) .catch() } }); }
setTimeout(() => { init() }, 2000);
|