我有一个名为“ rest2static”的程序包,用于创建静态页面。这些页面需要一个名为“ assets.json”的文件,该文件将由插件“ AssetsPlugin”创建。
为了在webpackDevServer上进行测试,我创建了一个自定义插件,该插件在编译完成后会创建一个模拟静态页面,以确保“ assets.json”可用并编辑devServer配置。但是,我编辑devServer配置的方式似乎不起作用。 testStaticBiblio()
将永远不会被调用,因此我认为我这样做的方式是错误的。如何在自定义插件中编辑编译器选项?
const rest2static = require('rest2static');
class Rest2StaticPlugin {
constructor(options) {
this.options = options;
}
apply(compiler) {
compiler.hooks.done.tap('Rest2StaticPlugin', (compilation) => {
const staticPlan = rest2static.plan();
function testStaticBiblio(req, res) {
const content = staticPlan.renderMock('/de/biblio/publication');
res.end(content);
}
compiler.options.devServer.before = (app) => {
app.use('/de/test-biblio/:type/:id', testStaticBiblio);
app.use('/fr/test-biblio/:type/:id', testStaticBiblio);
}
})
}
}
module.exports = Rest2StaticPlugin;