UNPKG

1.17 kBJavaScriptView Raw
1/**
2 * 处理 rollup 脚本
3 * @author lukezhu
4 * @date 2018-04-20
5 */
6const path = require('path')
7const rollup = require('rollup')
8const rollupEach = require('gulp-rollup-each')
9const babel = require('rollup-plugin-babel')
10const commonjs = require('rollup-plugin-commonjs')
11const resolve = require('rollup-plugin-node-resolve')
12const babelConfig = {
13 babelrc: false,
14 presets: [[require('babel-preset-env'), {
15 modules: false
16 }]],
17 plugins: [
18 require('babel-plugin-external-helpers')
19 ]
20}
21
22module.exports = function(gulp, $, conf, browserSync) {
23 gulp.task('rollup', () => {
24 return gulp.src(conf.parsePwd(conf.es6Files), {base: conf.parsePwd(conf.app)})
25 .pipe(rollupEach({
26 plugins: [babel(babelConfig), commonjs(), resolve()],
27 external: ['jquery']
28 }, (file) => {
29 return {
30 format: 'umd',
31 globals: { jquery: '$' },
32 name: path.basename(file.path, '.js')
33 }
34 }, rollup))
35 .pipe(gulp.dest(conf.parsePwd(conf.tmp)))
36 .pipe(browserSync.stream())
37 })
38}