copy-webpack-pluginに似た機能を備えたプラグインを作成しましたが、必要な拡張機能をいくつか提供しています。基本的に、ファイルを からsrc
にコピーdist
し、それらに対していくつかの操作を実行するだけです。
本番ビルドを実行すると問題なく動作しますが、私の開発ビルドでは、使用devServer
していてすべてがメモリ内にあるため、これは機能しません。
どうすればこれを解決できますか?
copy-webpack-pluginに似た機能を備えたプラグインを作成しましたが、必要な拡張機能をいくつか提供しています。基本的に、ファイルを からsrc
にコピーdist
し、それらに対していくつかの操作を実行するだけです。
本番ビルドを実行すると問題なく動作しますが、私の開発ビルドでは、使用devServer
していてすべてがメモリ内にあるため、これは機能しません。
どうすればこれを解決できますか?
結局のところ、解決策は非常に簡単です。あなたがする必要があるのは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();
});
}
}