创建一个生成函数体的webpack libraryTarget

时间:2017-10-08 14:11:25

标签: javascript webpack bundling-and-minification

我希望将webpack输出代码视为javascript函数体,并使用返回值来公开库。

我已经创建了这个插件(以内部webpack实现为模型,例如SetVarMainTemplatePlugin):

const ConcatSource = require("webpack-sources").ConcatSource;

class returnPlugin {
    apply(compiler) {
        compiler.plugin("this-compilation", (compilation) => {
            const mainTemplate = compilation.mainTemplate;

            compilation.templatesPlugin("render-with-entry", (source, chunk, hash) => {
                mainTemplate.applyPluginsWaterfall("asset-path", "return", {
                    hash: hash,
                    chunk: chunk
                });
                return new ConcatSource('return ', source);
            });
        });
    }
}

这会生成一个带有return前缀的输出文件,但是它似乎在最后一次传递失败,并且webpack错误出现了:

  

错误中的错误:'返回'功能之外(1:0)

我应该使用ConcatSource以外的其他内容吗?

0 个答案:

没有答案