代码拉取完成,页面将自动刷新
var path = require("path");
var fs = require("fs");
let resolve = function(dir) {
return path.resolve(dir);
}
function MyExampleWebpackPlugin() {}
//文件遍历方法
function fileDisplay(filePath) {
//根据文件路径读取文件,返回文件列表
let files = fs.readdirSync(filePath);
//遍历读取到的文件列表
files.forEach(function(filename) {
//获取当前文件的绝对路径
var filedir = path.join(filePath, filename);
console.log(filedir,'+++++', filename)
//根据文件路径获取文件信息,返回一个fs.Stats对象
let stats= fs.statSync(filedir);
var isFile = stats.isFile(); //是文件
if (isFile && /\.html$/.test(filedir)) {
var files = fs.readFileSync(filedir, 'utf-8');
files = files.replace(/\/pc/g, "");
files = files.replace(/<link rel="?stylesheet"? href="?\/static\/index\.(.+?)\.css"?>/, '<link rel=stylesheet href=/static/dist/shop_pc/index.$1.css>');
fs.writeFileSync(filedir, files);
}
});
}
function deleteall(path) {
var files = [];
if (fs.existsSync(path)) {
files = fs.readdirSync(path);
files.forEach(function(file, index) {
var curPath = path + "/" + file;
if (fs.statSync(curPath).isDirectory()) { // recurse
deleteall(curPath);
} else { // delete file
fs.unlinkSync(curPath);
}
});
fs.rmdirSync(path);
}
};
MyExampleWebpackPlugin.prototype.apply = function(compiler) {
compiler.hooks.afterEmit.tap('afterEmit', function() {
var dirs = []
let pathName = resolve('./dist/build/pc/static')
let dscName = resolve('./dist/build/pc/static/dist/shop_pc/')
try {
let files = fs.readdirSync(pathName);
for (var i = 0; i < files.length; i++) {
if (files[i].lastIndexOf(".css") > -1) {
fs.copyFileSync(
path.join(pathName, files[i]),
path.join(dscName, files[i])
);
fileDisplay(resolve("./dist/build/pc"));
}
}
// deleteall(resolve('./dist/build/pc/static'));
let fsDir = path.join(dscName, "static/js/");
let fsFiles = fs.readdirSync(fsDir);
fsFiles.forEach(item => {
const F = path.join(fsDir, item);
let stats = fs.statSync(F);
var isFile = stats.isFile();
if (isFile && /\.js$/.test(F)) {
// console.log(F, "mmmmmmmm----->>>")
let files = fs.readFileSync(F, "utf-8");
files = files.replace(/s\.p=.*?\,/, "s.p='/',");
fs.writeFileSync(F, files);
}
// console.log(F, "@@@@@@@@@@@@@@@@@@@@@@@@@@")
});
} catch (err) {
console.log('error>>>', err)
}
});
};
module.exports = MyExampleWebpackPlugin;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。