如何将同一库的两个部分分成不同的捆绑包

时间:2019-11-01 13:33:55

标签: javascript webpack

我想将库的两个部分分别导出(以不同的文件形式)。在大多数情况下,用户只会使用给定页面上的一个文件,但是在某些情况下,他们需要同时包含这两个文件。

我希望两个导出的包都属于同一名称空间。

示例:

library-partA.js->编译为library.partA

library-partB.js->编译为library.partB

我的webpack.config:

entry: {
        editor: path.resolve(__dirname, './src/js/FormrEditor.js'),
        renderer: path.resolve(__dirname, './src/js/FormrRenderer.js')
    },
    output: {
        filename: 'formr-[name].js',
        path: path.resolve(__dirname, 'dist/js'),
        library: 'Formr',
    },

因此,当HTML包含输出文件(formr-editor.js和formr-renderer.js)两者时,第二个似乎“覆盖”了第一个。我的意思是,如果我在{em> formr-renderer.js之后加上formr-editor.js,然后Formr.Editor === undefined

这两个文件都将导出:

class FormrRenderer{...}

const Renderer = FormrRenderer;

export default { Renderer }

HTML如下所示:

<script src="formr-editor.js"></script>
<script src="formr-renderer.js"></script>
<script>
    const editor = new Formr.Editor(document.getElementById('editor'), {});

</script>

0 个答案:

没有答案