Skip to content

Vue single file component compiler plugin for Gulp

Notifications You must be signed in to change notification settings

hokify/gulp-vue-compiler

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gulp-vue-compiler

This plugin compiles Vue single file components (SFC) to plain JavaScript.

Installation

npm install gulp-vue-compiler --save-dev

Any other plugin or dependency such as babel-core should be installed as well.

Usage

var vueCompiler = require('gulp-vue-compiler');

gulp.task('vue-compile', function() {
  return gulp.src('components/**/*.vue')
    .pipe(vueCompiler({ /* options */ }))
    .pipe(gulp.dest('./dist/'));
});

Implementation details and options

  • options.newExtension: Optionally modifies the output files extension to the new string.

  • v0: Vueify's API is used internally. Therefore, any valid option for Vueify is valid here as well. See Vueify options here. Additionally, options.ESModules boolean option is available for removing the closure that Vueify adds automatically (which breaks ES modules). Passing modules: false in Babel's env preset automatically activates this option.

  • v1: Uses vue-component-compiler internally (more info here). options.esModule (default true), options.parserConfig, options.templateCompilerConfig, options.babel. Beta release does not support style tags.

Examples

  • Compiling *.vue components to plain JavaScript using Babel and ES modules:
return gulp.src('components/**/*.vue')
  .pipe(vueCompiler({
    newExtension: 'js', // *.vue => *.js
    babel: {
      babelrc: false,
      presets: [
        ['env', {
          modules: false, // Keep ES modules in 'script' tag
          targets: {
            browsers: [ '> 1%', 'last 2 versions' ]
          }
        }],
        'stage-3'
      ]
    }
  }))
  .pipe(gulp.dest('./dist/'));

About

Vue single file component compiler plugin for Gulp

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%