まず、彼らはただのJavaScriptモジュールですので、あなたは常にこの種の操作を行うことができます事:
// rollup.config.common.js
export default {
external: ['invariant', 'lodash'],
globals: {
invariant: 'invariant'
},
input: 'src/index.js',
name: 'my.comp'
};
// rollup.config.esm5.js
import common from './rollup.config.common.js';
export default Object.assign({
output: {
file: 'my.comp.es5.js'
format: 'es'
}
}, common);
// rollup.config.umd.js
import common from './rollup.config.common.js';
export default Object.assign({
output: {
file: 'my.comp.umd.js'
format: 'umd'
}
}, common);
しかし、ここで本当の答えはそうのような単一のものに2つのconfigsを組み合わせることである:トン、
export default {
external: ['invariant', 'lodash'],
globals: {
invariant: 'invariant'
},
input: 'src/index.js',
name: 'my.comp',
output: [
{
file: 'my.comp.es5.js'
format: 'es'
},
{
file: 'my.comp.umd.js'
format: 'umd'
}
]
};
と同様に維持するために単純かつ容易であることロールアップはたくさんの作業を2回節約できるので、彼の方が速くなります。
ビルド間でoutput
オプションを変更する必要がある場合は、1つのファイル(export default [...]
)からconfigの配列をエクスポートすることもできます。
投稿する前に最初の解決策を結んだが、何らかの理由でうまくいかなかった。しかし、2番目のソリューションの出力[]は素晴らしいです。 BTWのロールアップはすばらしいです。 – bhantol
Ok - 最初に作業した部分もうまくいきました。Object.assignの引数を{} – bhantol