This webpack plugin enables to add external links from Nova bundles inside the consumer pages using the html-webpack-plugin
hooks.
npm i --save-dev @ara/webpack-nova-consumer
Add the plugin in the webpack configuration passing the Nova entry endpoints.
module.exports = {
...
plugins: [
new NovaConsumerPlugin({
novas: [
{
entry: 'http://localhost:8080/client.js',
views: [
'ExampleView'
]
}
]
})
]
}
The plugin creates a socket connection for each Nova that is running with webpack-dev-server
in development mode. Then the page is reload everytime that the Nova code is compiled with webpack.
Lazy load is enabled by default when webpack runs in production mode. It generates a script file that loads the Nova entry
when a view listed in the views
field is placed in the page using the Nova Bridge
Example using nova-vue-bridge:
<template>
<div class="container">
<nova name="ExampleView" :data="{ title: 'Ara Framework' }" />
</div>
</template>
The entry point http://localhost:8080/client.js
is loaded when Vue.js mounts the example component above.