gulp:构建代码并在浏览器中启动它

时间:2016-12-01 15:09:56

标签: visual-studio-2015 gulp gulp-task

所以我想将elm语言用于Web项目,我需要将项目放在visual studio 2015中并且我正在使用gulp。我的问题是,我不知道如何创建构建代码并在浏览器中启动代码的gulp task。这是我到目前为止所做的:

gulpfile.js:

/// <binding ProjectOpened='default' />
var gulp = require('gulp')
var elm = require('gulp-elm')
var gutil = require('gulp-util')
var plumber = require('gulp-plumber')
var connect = require('gulp-connect')

// File paths
var paths = {
    dest: 'build',
    elm: 'src/*.elm',
    static: 'src/*.{html,css}'
}

// Init Elm
gulp.task('elm-init', elm.init)

// Compile Elm to HTML
gulp.task('elm', ['elm-init'], function () {
    return gulp.src(paths.elm)
      .pipe(plumber())
      .pipe(elm())
      .pipe(gulp.dest(paths.dest))
})

// Move static assets to dist
gulp.task('static', function () {
    return gulp.src(paths.static)
      .pipe(plumber())
      .pipe(gulp.dest(paths.dest))
})

// Watch for changes and compile
gulp.task('watch', function () {
    gulp.watch(paths.elm, ['elm'])
    gulp.watch(paths.static, ['static'])
})

// Local server
gulp.task('connect', function () {
    connect.server({
        root: 'dist',
        port: 3000
    })
})

// Main gulp tasks
gulp.task('build', ['elm', 'static'])
gulp.task('default', ['connect', 'build', 'watch'])

connect任务不会在浏览器中打开网站。那么,如何实现这一目标呢?我想通过单击任务(从visual studio中的任务浏览器窗口)启动该站点,然后单击“开始”,它应该编译代码并开始。

由于

1 个答案:

答案 0 :(得分:1)

gulp-connect包不会自动为您打开浏览器窗口。它可能在旧版本中已经这样做了。

但是,gulp-connect-multi中有一个分叉,包括在连接时打开浏览器的功能。

否则,您可以直接使用gulp-open包打开浏览器窗口。