У меня есть 2 части библиотеки, которые я хотел бы экспортировать отдельно (в разных файлах). В большинстве случаев пользователь будет использовать только один из файлов на данной странице, но существуют обстоятельства, когда ему нужно будет включать оба.
Я бы хотел, чтобы оба экспортированных пакета были частьюто же пространство имен.
Пример:
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',
},
Так что происходит, когда оба выходных файлов (formr-editor.js и formr-renderer.js) включены в HTML, второйкажется, что «перезаписать» первый. Я имею в виду, если я включу 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>