webpack/lib/web/FetchCompileWasmTemplatePlu...

26 lines
665 B
JavaScript
Raw Normal View History

2017-10-30 20:56:57 +08:00
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
const WasmMainTemplatePlugin = require("../wasm/WasmMainTemplatePlugin");
2017-10-30 20:56:57 +08:00
class FetchCompileWasmTemplatePlugin {
apply(compiler) {
2018-02-25 09:00:20 +08:00
compiler.hooks.thisCompilation.tap(
"FetchCompileWasmTemplatePlugin",
compilation => {
2018-04-28 14:53:30 +08:00
const mainTemplate = compilation.mainTemplate;
const generateLoadBinaryCode = path =>
`fetch(${mainTemplate.requireFn}.p + ${path})`;
const plugin = new WasmMainTemplatePlugin(generateLoadBinaryCode, true);
plugin.apply(mainTemplate);
2018-02-25 09:00:20 +08:00
}
);
2017-10-30 20:56:57 +08:00
}
}
module.exports = FetchCompileWasmTemplatePlugin;