Stencil JS - Only export one component from Component Library Project - stenciljs

I've searched a lot but I didn't find anything useful about this. I need to create a web-component with Stencil JS and I would like to split it in sub-components.
Is that possible doing this without exporting the whole component library, but instead exporting only the main component? Thanks in advance.

Related

Is it possible to use NuxtLink to a Vue "component" in the components directory vs. a "page" route

I'm trying to create a form that I want to use modularly by linking to it from multiple page templates. Using just the straight vue-cli I would simply create a route to the file that has the form defined that I store in the "components" directory and then wrap a button linking to the form in a <router-link to="componentFormName"><btn></btn></router-link>. I'm having some difficulty determining how to do the equivalent in Nuxt. Any insights would be greatly appreciated. It seems the <NuxtLink></NuxtLink> only works with Vue files in the "Pages" directory.
You probably want to use dynamic components here: https://v2.vuejs.org/v2/guide/components-dynamic-async.html#keep-alive-with-Dynamic-Components
With something like this
<component :is="currentTabComponent"></component>
With currentTabComponent being one of the component to mount. You can mount a component depending of the current route with a relation between the URL and the component name too.
Also, Vue does not have any knowledge of "route", and everything is a component. Nothing really changes with a page because it is also a component at the end of the day. Or you could write one inside of it.
Maybe an example of your use-case would be helpful here.

How do I load a Vue template from a hosted html file (no webpack, etc)

I am trying a new way of writing my ui and I am using straight ESM loading with Vue. As such I am trying to load my HTML files like I would with say Webpack. I have a simple example of what I am talking about. I basically want to take...
export default {
template: "<div>Here is the component. I want this template to be an html file without webpack</div>"
// I want this to be from a url say mysite.net/viewport.html
}
I tried the simple things like
import Template from "/viewport.html"
But of course that didn't work
I think there might be something I can do with dynamic components. Has anyone tried this an come up with a good solution?

Standard way of Importing javascript modules into vue components

What is the correct way of importing javascript modules into vue-components?
I currently have a vue-component component.js:
Vue.component('component', {
name: 'component',
props: ['pdf'],
template: ` ...
I want to take a pdf-url as a prop and use pdf.js within the component, but I'm having trouble finding the right way/standard way to import pdf.js into my project.
Worth noting is that I'm not using vue-cli, or any other kind of bundler like Webpack, so my project structure might be a bit different from standard project structures. I access my components from a main.html file in which I have imported both vue and the components in script-tags in the head of the html. Would I simply import pdf.js in the same manner (head in the main.html file), or is there a "vue"-way of doing it?
If you are not using webpack or any other packager, then I will recommend you to stick to the old fashion way, just use pdf.js as script in your html and make use of the API as it is in the official documentation, such as: pdf.getPage(1).then(...)
Hope it helps.
Cheers

Scaling With The App.js File When Using Vuejs

So I was wondering. When a Vuejs app grows, thus the App.js file grows.
My question is:
How should and can this file be split up so each section of the site uses its own app.js file?
You can create separate functions or classes then import them to the App.js via import or using Require.js, Common.js etc. And the just call them inside the App.js
If you find yourself wanting separate Vue instances / more than one Single Page App, you can try this webpack template.

Best way to make VueJS components in a client side

I want to use VueJS in a JAVA application. I've already made a big Vue component but now I want to divide this big component in little part...
How to declare components and use them in client side only way ?
Thanks for tips!
Now that I know a little bit more about VueJS, I found my question weird...
Well, we don't have any JS loader so we have to load the html files (with the Vue component declared) in the main html file to be able to use it.
html code...
// import html file with component
// import html file with component
// use component