代码之家  ›  专栏  ›  技术社区  ›  Yoav Kadosh

网页包-在开发和生产中复制文件

  •  0
  • Yoav Kadosh  · 技术社区  · 7 年前

    我写了一个插件,做了一些类似的事情 copy-webpack-plugin ,但提供了我需要的一些扩展功能。本质上,它只是从 src 到 dist 并对其执行一些操作。

    当我运行生产构建时,它工作得很好,但是在我的开发构建中,因为我使用 devServer 一切都在记忆中,这不起作用。

    我怎样才能解决这个问题?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Yoav Kadosh    7 年前

    事实证明,解决方案非常简单。你所需要做的就是使用它 compliation.assets fs.writeFile . 无论您是从内存还是从文件系统提供文件,这都将起作用。

    例如,下面的代码将在中创建一个文件 path/to/file.ext 具有 Hello World!

    class MyCoolPlugin {
        apply(compiler) {
            compiler.hooks.emit.tapAsync('MyCoolPlugin', (compilation, done) => {
                compilation.assets['path/to/file.ext'] = {
                    source: () => 'Hello World!', // The file's content
                    size: () => 10 // Should be the byte size of the content
                };
                done();
            });
        }
    }
    
    推荐文章