给定的
const anInstance = new Plugin({ a: 'path' })你能把所给的论据还给我吗?
anInstance./* some method */ === [{ a: 'path' }]
// or
someWrapper(anInstance) === [{ a: 'path' }]限制:
Plugin的内部实现:将其视为外部依赖项。Plugin可能有多个参数,任何类型的。背景:我正在尝试为webpack插件配置编写一个测试。例如:
module.exports = {
plugins: [
new wepback.DllPlugin({
name: '[name]',
path: path.join(buildDir, '[name].json'),
})
]
}我想测试给DllPlugin的配置。上面的限制#3存在,因为当每个插件的唯一使用者是我的测试时,我不想导出每个插件的配置。
如果没有办法完成我的初始请求,那么我将不得不添加这些导出,因为我想不出任何其他方法来访问这些参数。
发布于 2016-12-13 20:32:07
您可以定义一个class,使用extend
function Plugin() {}
class getPluginArgs extends Plugin {
constructor(...args) {
super();
this.args = args;
for (let arg of args) {
console.log(arg)
}
}
getArgs() {
return this.args;
}
}
const anInstance = new getPluginArgs({ a: "path" });
console.log(anInstance instanceof Plugin, anInstance.getArgs());
https://stackoverflow.com/questions/41129031
复制相似问题