首页 > 解决方案 > 使用 Gulp.js 汇总 - 多个输出

问题描述

我正在尝试使用 Gulp 上的 Rollup 来使用输出数组。

该文档仅显示了一个带有单个输出文件的基本示例。(虽然它声明该output属性可以包含一个数组)

.then(bundle => {
      return bundle.write({
        file: './dist/library.js',
        format: 'umd',
        name: 'library',
        sourcemap: true
      });
    });

如果我将其替换为数组,它将失败:

.then(bundle => {
      return bundle.write({
        file: './dist/library.js',
        format: 'umd',
        name: 'library',
        sourcemap: true
      },
       {
        file: './dist/file2.js',
        format: 'umd',
      });
    });

错误:您必须为构建指定“output.file”或“output.dir”。错误(/Users/alvarotrigolopez/Sites/extensions/experiments/bundle/node_modules/rollup/dist/shared/rollup.js:158:30)在handleGenerateWrite(/Users/alvarotrigolopez/Sites/extensions/experiments/bundle/node_modules/ rollup/dist/shared/rollup.js:23403:20)

我也尝试过使用该output选项并使用@rollup/stream而不是仅使用rollup.

var gulp = require('gulp');
var source = require('vinyl-source-stream');
var buffer = require('vinyl-buffer');
var rollup = require('@rollup/stream');

gulp.task('js', function() {
  return rollup({
      input: './app.js',
      output: [
        {
          file: 'bundle.js',
          format: 'umd',
        },
        {
          file: 'test.js',
          format: 'umd',
        }
      ]
    })
    .pipe(source('bundle.js'))
    .pipe(buffer())
    .pipe(gulp.dest('./build/js'));
});

未知的输出选项:0、1。允许的选项:amd、assetFileNames、banner、chunkFileNames、compact、dir、dynamicImportFunction、entryFileNames、esModule、exports、extend、externalLiveBindings、file、footer、format、freeze、generatedCode、globals、hoistTransitiveImports、indent , inlineDynamicImports, interop, intro, manualChunks, minifyInternalExports, name, namespaceToStringTag, noConflict, outro, paths, plugins, preferConst, preserveModules, preserveModulesRoot, sanitizeFileName, sourcemap, sourcemapExcludeSources, sourcemapFile, sourcemapPathTransform, strict, systemNullSetters, validate

标签: rollupjs

解决方案


推荐阅读