0

copy-webpack-pluginに似た機能を備えたプラグインを作成しましたが、必要な拡張機能をいくつか提供しています。基本的に、ファイルを からsrcにコピーdistし、それらに対していくつかの操作を実行するだけです。

本番ビルドを実行すると問題なく動作しますが、私の開発ビルドでは、使用devServerしていてすべてがメモリ内にあるため、これは機能しません。

どうすればこれを解決できますか?

4

1 に答える 1

0

結局のところ、解決策は非常に簡単です。あなたがする必要があるのは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();
        });
    }
}
于 2018-12-12T16:12:56.790 に答える