grunt-rollup

2019-01-14 admin

grunt-rollup是什么

什么是grunt-rollup,Grunt plugin for rollup - next-generation ES6 module bundler

grunt-rollup使用教程帮助文档

This repo is unmaintained, if you are interested in taking over please get in touch.

grunt-rollup

Build Status dependencies

Grunt plugin for rollup - next-generation ES6 module bundler

Getting Started

This plugin requires Grunt >=0.4.0

If you haven’t used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you’re familiar with that process, you may install this plugin with this command:

npm install grunt-rollup --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-rollup');

The “rollup” task

Overview

In your project’s Gruntfile, add a section named rollup to the data object passed into grunt.initConfig().

grunt.initConfig({
  rollup: {
    options: {
      // Task-specific options go here.
    },
    your_target: {
      // Target-specific file lists and/or options go here.
    },
  },
});

Options

Supports all the options from rollup’s JavaScript API.

Sourcemaps

A value of true for sourceMap will output the map to a file with the same name as the JavaScript with .map appended. A value of inline for sourceMap will inline the sourcemap into the source file.

To get relative paths, set sourceMapRelativePaths to true. This sets rollup sourceMapFile property, making the sourcemap relative to the output file.

Usage Examples

grunt.initConfig({
  rollup: {
    options: {},
    files: {
      'dest/bundle.js': ['src/entry.js'], // Only one source file is permitted
    },
  },
});

Usage with Plugins

var babel = require('rollup-plugin-babel');

grunt.initConfig({
  rollup: {
    options: {
      plugins: [
        babel({
          exclude: './node_modules/**'
        })
      ]
    },
    files: {
      'dest':'dest/bundle.js',
      'src' : 'src/entry.js', // Only one source file is permitted
    },
  },
});

Plugin getter

Some plugins are stateful and this doesn’t play nice with multiple bundles. For example the rollup-plugin-babel plugin keeps a track of used babel helpers, and passing the configured plugin only once will cause the helpers to leak from one bundle to another. To prevent that, pass a function that returns an array of plugins, like this:

var babel = require('rollup-plugin-babel');

grunt.initConfig({
  rollup: {
    options: {
      plugins: function() {
        return [
          babel({
            exclude: './node_modules/**'
          })
        ];
      }
    },
    files: {
      'dest/bundle.js': 'src/entry.js',
      'dest/bundle2.js': 'src/entry2.js',
    },
  },
});

This way the plugin will be refreshed for each bundle.

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Releasing

npm version minor && git push --tags origin master && npm publish

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-50926.html

文章标题:grunt-rollup

回到顶部