小编Sea*_*ean的帖子

Webpack 插件:在资产写入文件系统后运行命令

我见过这个问题:在 webpack 构建之后运行命令,我修改了那里提供的示例代码。

为了描述我的场景,我试图通过 webpack 获取资产输出并将它们部署到已安装的网络驱动器。我正在使用ncp复制目录并且实际复制工作正常,似乎当 webpack 调用after-emit事件或done事件时,实际上并没有完成将文件发送或写入文件系统。我的副本最终复制了空文件或部分写入的文件。

这是整个插件:

'use strict';
var ncp = require('ncp').ncp;

function WebPackDeployAfterBuild(options) {
    var defaultOptions = {

    };

    this.options = Object.assign(defaultOptions, options);
}

WebPackDeployAfterBuild.prototype.apply = function(compiler) {
    const options = this.options;

    compiler.plugin("done", (stats) => {
            console.log(Object.keys(stats.compilation.assets));
            console.log("\nExecuting Deploy on done...");
            ncp(options.from, options.to, function(err) {
                if (err) {
                    console.error("Err in ncp");
                }
                console.log(`Finished deploying ${options.from} to ${options.to}`);
            });
    });

    compiler.plugin("after-emit", (compilation, callback) => {
        console.log(Object.keys(compilation.assets));
        console.log("\nExecuting Deploy on …
Run Code Online (Sandbox Code Playgroud)

webpack webpack-plugin

6
推荐指数
1
解决办法
2067
查看次数

标签 统计

webpack ×1

webpack-plugin ×1