const Fs = require("fs"); const Path = require("path"); const FsExtra = require("fs-extra"); class Copy { constructor(options) { this.options = options; } apply(compiler) { compiler.plugin("done", (compilation, callback) => { const cfg = this.options; if (cfg && cfg.length > 0) { cfg.forEach(({src, dest}) => { let fullSrc = Path.join(compilation.compilation.options.context, src); if (Fs.existsSync(fullSrc)) { let distPath = compilation.compilation.options.output.path; let outFile = Path.join(distPath, dest); FsExtra.ensureFileSync(outFile); FsExtra.copyFileSync(fullSrc, outFile); } else { console.error(`manifest文件不存在:${src}`); } }); } }); } } module.exports = Copy;