代码之家  ›  专栏  ›  技术社区  ›  Jaeeun Lee ueznem

Webpack concat输出js文件以将其包装在库中?

  •  0
  • Jaeeun Lee ueznem  · 技术社区  · 7 年前

    我需要用其他文件连接一个网页输出,比如 pre.js + bundle.js(the webpack output file) + after.js . 我试过webpack concat插件,也尝试过将webpack与gulp相结合,但我就是不知道如何获取输出文件并将其传输到concat任务。其目的是将输出包装到自定义库中。

    网页包。配置。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开发服务器生成和更新的。

    使用大口

    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");
         })
    })
    

    在第二种情况下,不知道如何获得网页包的输出。

    1 回复  |  直到 7 年前
        1
  •  0
  •   simon04 Jonathan A. Marshall    7 年前

    您正在使用 gulp 仅用于运行 webpack-dev-server https://webpack.js.org/guides/development/#using-webpack-dev-server

    不知道的内容+目的 pre.js after.js ,很难给出好的建议。您可能需要调整 BannerPlugin 还要输出页脚= ,或将网页包配置为 generate multiple targets (第一个 dist/bundle.js + 距离/束。js公司 + 之后js公司 various ways for shimming ,或通过三个后续导入将树文件合并到一个新的条目文件( import 'pre.js'; import 'bundle.js'; import 'after.js'