javascript - gulp执行webpack任务时, 文件生成, loader没被执行.

查看:135
本文介绍了javascript - gulp执行webpack任务时, 文件生成, loader没被执行.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

gulpfile.js 配置文件

var gulp = require('gulp');
var webpack = require('webpack-stream');
var named = require('vinyl-named');

gulp.task('default', function () {
    return gulp.src('./resource/js/app.js')
        .pipe(webpack( require('./webpack.config.js') ))
        .pipe(gulp.dest('./public/js/'));
});

webpack.config.js 配置文件

module.exports = {
    entry : './resource/js/app.js',
    output : {
        filename : 'bundle.js'
    },
    module : {
        rules : [
            {
                test : /\.js$/, use : {
                loader : 'babel-loader',
                options : {
                    presets : ['es2015']
                }
            }}
        ]
    }
};

app.js 文件

import './a.js';

function helloworld()
{
    console.log(1);
}

仅webpack时, js文件是可以生成且能被babel-loader执行, 但执行gulp时, babel-loader便没执行了.
初学webpack与gulp ~ 感谢各位指教~~

解决方案

因为webpack-stream里面的webpack还是1.9.0,你用的webpackconfig已经是2.0的语法,类似rules那些。

不执行是有道理的,想用gulp+webpack的话,可以参考webpack-stream

If you would like to use a different version of webpack than the one this plugin uses, pass in an optional 2nd argument:

var gulp = require('gulp');
var webpack2 = require('webpack2');
var gulpWebpack = require('webpack-stream');
gulp.task('default', function() {
  return gulp.src('src/entry.js')
    .pipe(gulpWebpack({}, webpack))
    .pipe(gulp.dest('dist/'));
});

顺便给一个别人问过的问题的答案吧。
http://stackoverflow.com/ques...

这篇关于javascript - gulp执行webpack任务时, 文件生成, loader没被执行.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆