gulp rollup each
v2
롤업 용 걸레 플러그인.
정적 사이트의 여러 파일을 입력/출력 할 수있는 또 다른 Gulp-Rollup 플러그인.
NPM
npm i gulp-rollup-each
const gulp = require ( 'gulp' )
const rollupEach = require ( 'gulp-rollup-each' )
function scripts ( ) {
return gulp
. src ( [
'src/**/*.js' ,
'!src/**/_*' // exclude modules
] )
. pipe (
rollupEach ( {
output : {
// outputOptions
format : 'iife'
}
} )
)
. pipe ( gulp . dest ( 'dist' ) )
}
Sourcemaps와 Buble
const gulp = require ( 'gulp' )
const sourcemaps = require ( 'gulp-sourcemaps' )
const rollupEach = require ( 'gulp-rollup-each' )
const buble = require ( '@rollup/plugin-buble' )
function scripts ( ) {
return gulp
. src ( [
'src/**/*.js' ,
'!src/**/_*' // exclude modules
] )
. pipe ( sourcemaps . init ( ) )
. pipe (
rollupEach (
{
// inputOptions
external : [ 'jquery' ] ,
plugins : [
buble ( {
target : {
ie : 11
}
} )
] ,
isCache : true // enable Rollup cache
} ,
{
// outputOptions
format : 'iife' ,
globals : {
jquery : 'jQuery'
}
}
)
)
. pipe ( sourcemaps . write ( ) )
. pipe ( gulp . dest ( 'dist' ) )
}
rollupEach(inputOptions [[, outputOptions], rollup])
inputOptions
첫 번째 인수는 inputOptions
과 동일한 대상입니다.
그러나 input
옵션은 gulp.src()
에 지정된 파일이므로 Gulp-Rollup-Each 옵션으로 지정할 수 없습니다.
롤업 cache
활성화하려면 isCache
옵션을 true
로 설정하십시오.
function scripts ( ) {
return gulp
. src ( [ 'src/**/*.js' ] )
. pipe (
rollupEach (
{
isCache : true // enable Rollup cache
} ,
{
format : 'iife'
}
)
)
. pipe ( gulp . dest ( 'dist' ) )
}
outputOptions
두 번째 인수는 outputOptions
과 동일한 대상입니다.
두 번째 인수를 생략하면 첫 번째 인수의 output
outputOptions
이 변경됩니다.
function scripts ( ) {
return gulp
. src ( [ 'src/**/*.js' ] )
. pipe (
rollupEach ( {
output : {
// outputOptions
format : 'iife'
}
} )
)
. pipe ( gulp . dest ( 'dist' ) )
}
롤업 옵션 객체를 인수로 반환하는 함수를 전달할 수도 있습니다. 함수는 비닐 파일 객체를받습니다.
const path = require ( 'path' )
const gulp = require ( 'gulp' )
const rollupEach = require ( 'gulp-rollup-each' )
function scripts ( ) {
return gulp
. src ( [ 'src/**/*.js' ] )
. pipe (
rollupEach (
{
external : [ /* ... */ ] ,
plugins : [ /* ... */ ]
} ,
file => {
return {
format : 'umd' ,
name : path . basename ( file . path , '.js' )
}
}
)
)
. pipe ( gulp . dest ( 'dist' ) )
}
rollup
종속성으로 rollup
객체를 대체하기위한 세 번째 인수를 지정할 수 있습니다. Gulp-Rollup-Reach가 사용하는 것보다 새 버전의 롤업을 사용하려는 경우 유용합니다.
function scripts ( ) {
return gulp
. src ( [ 'src/**/*.js' ] )
. pipe (
rollupEach (
{ } ,
{
format : 'iife'
} ,
// Passing rollup object
require ( 'rollup' )
)
)
. pipe ( gulp . dest ( 'dist' ) )
}
MIT