我希望在编译服务工作者时,能将webpack构建的输出定义为一个变量。
我想使用child compilation功能编译服务工作者,并将其放入不同的路径中。我需要从webpack编译发出的输出来正确编译服务工作者。
我的初始尝试是使用offline-plugin相同的策略创建子编译器,但我需要能够更改服务工作者的输出路径。服务工作者的路径很重要,因为它定义了范围。
我想知道如何使用子编译器API完成下面的操作,以防止我的构建产生这种副作用(并希望它能给我提供webpack-dev-server支持)。
我想使用child compilation功能编译服务工作者,并将其放入不同的路径中。我需要从webpack编译发出的输出来正确编译服务工作者。
我的初始尝试是使用offline-plugin相同的策略创建子编译器,但我需要能够更改服务工作者的输出路径。服务工作者的路径很重要,因为它定义了范围。
我想知道如何使用子编译器API完成下面的操作,以防止我的构建产生这种副作用(并希望它能给我提供webpack-dev-server支持)。
var webpack = require('webpack');
function ServiceWorkerPlugin(options) {
this.options = options;
}
ServiceWorkerPlugin.prototype.apply = function(compiler) {
compiler.plugin('emit', (compilation, callback) => {
const stats = compilation.getStats().toJson();
const child = webpack(this.options);
child.apply(
new webpack.DefinePlugin({
assets: stats.assets
})
);
child.run((err, swStats) => {
if (err) {
callback(err);
}
const swStatsJson = swStats.toJson();
if(swStatsJson.errors.length > 0) {
console.log(swStatsJson.errors);
}
if(swStatsJson.warnings.length > 0) {
console.log(swStatsJson.warnings);
}
callback();
});
module.exports = ServiceWorkerPlugin;
childCompiler.options = new WebpackOptionsApply().process(self.options, childCompiler);
- ATNASGDWNGTH