【发布时间】:2017-09-18 16:01:19
【问题描述】:
我需要将 webpack 输出与其他文件连接起来,例如 pre.js + bundle.js(the webpack output file) + after.js。我已经尝试过 webpack concat 插件并将 webpack 与 gulp 结合使用,但我只是不知道如何获取输出文件并将其通过管道传输到 concat 任务。这样做的目的是将输出包装在自定义库中。
webpack.config.js:
module.exports = {
context: path.resolve(__dirname, 'src'),
entry: './app.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [{
test: /\.js$/,
include: path.resolve(__dirname, 'src'),
use: [{
loader: 'babel-loader',
options: {
presets: [
['es2015', {modules: false}]
]
}
}]
}
]},
plugins: [
new ConcatPlugin({
useHash: true,
sourceMap: true,
name: 'flxeible',
fileName: '[name].bundle.js',
filesToConcat: ['pre.js','dist/bundle.js','after.js']
})
]
};
这将连接已经构建的bundle.js,而不是由 webpack 开发服务器生成和更新的bundle.js。
使用 gulp:
var gulp = require('gulp');
var gutil = require('gulp-util')
var webpack = require('webpack');
var WebpackDevServer = require('webpack-dev-server')
var webpackConfig = require('./webpack.config.js')
gulp.task('default', [ "webpack-dev-server"])
var myDevConfig = Object.create(webpackConfig);
gulp.task("webpack-dev-server", function(callback){
new WebpackDevServer(webpack(myDevConfig), {
stats: {
colors: true
}
}).listen(8080, "localhost", function(err){
if(err) throw new gutil.PluginError("webpack-dev-server", err);
gutil.log("[webpack-dev-server]",
"http://localhost:8080/webpack-dev-server/index.html");
})
})
在第二种情况下,不确定如何在 gulp 中获取 webpack 输出。
【问题讨论】:
标签: javascript webpack gulp webpack-dev-server