【发布时间】:2016-08-28 13:25:24
【问题描述】:
所以我有一个 Gulp 文件(工作)和一个 Webpack 文件(工作)。现在我想将这些结合起来,这样我只需要运行 webpack 就可以查看和编译 SCSS 文件。
看着webpack home page,我可以用一个叫webpack-stream的东西
var gulp = require('gulp');
var webpack = require('webpack-stream');
gulp.task('default', function() {
return gulp.src('src/entry.js')
.pipe(webpack())
.pipe(gulp.dest('dist/'));
});
我不明白我在这里读到什么。而且我不熟悉管道。
- 第一段代码,是否进入 gulpfile.js?
- entry.js 是什么?
- 这段代码有什么作用?
以上将 src/entry.js 编译成 assets 用 webpack 放入 dist/ 输出文件名为 [hash].js (webpack 生成的 构建)。
或者直接传入你的 webpack.config.js:
return gulp.src('src/entry.js')
.pipe(webpack( require('./webpack.config.js') ))
.pipe(gulp.dest('dist/'));
我猜这会进入我的 gulpfile.js?
我想我需要用茶匙把这个递给我:-/
更新
在@kannix 和@JMM 的帮助下,我得到了它的帮助。这是我的配置文件:
吞咽
var gulp = require('gulp');
var sass = require('gulp-sass');
var webpack = require('webpack-stream');
gulp.task('default', [
'webpacker',
'sass',
'watch'
]);
gulp.task('webpacker', function() {
return gulp.src('./src/index.js')
.pipe(webpack(require('./webpack.config.js')))
.pipe(gulp.dest('dist/'));
});
gulp.task('sass', function () {
return gulp
.src('./src/sass/main.scss')
.pipe(sass())
.pipe(gulp.dest('./css/'));
});
gulp.task('watch', function() {
gulp.watch('./src/sass/*.scss', ['sass']);
gulp.watch('./src/components/*.jsx', ['webpacker']);
});
webpack.config.js
var path = require('path');
var webpack = require('webpack');
module.exports = {
entry: "./src/index.js",
output: {
path: __dirname + "/js/",
filename: "bundle.js"
},
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel',
query: {
cacheDirectory: true,
presets: ['es2015', 'react']
}
}
]
}
};
【问题讨论】: