例えば
プラグインが増えてしまう度にコールバック地獄を見たくないですよね。
next.config.js
const withA = require('a')
const withB = require('b')
const withC = require('c')
module.exports = withA(withB(withC({
webpack(config, options) {
return config
}
})))
どんどん増えていきます…。
毎度プラグインが増える度にコールバックを書き直す必要があります。
解決策
reduceで解決します。
next.config.js
const plugins = [
require('a'),
require('b'),
require('c')
]
const webpackConf = {
webpack(config, options) {
return config
}
}
module.exports = plugins.reduce((prev, current) => current(prev), webpackConf)
結構スッキリしました。
あとは、プラグイン追加の度に、plugins
に追加していけばオッケーです。
module.exports
以下は書き直す必要がありません。