Integrate a stenciljs web component into a stenciljs app - npm

I did build some web components with stencil and published them on npm. Now I want to integrate them into another stencil app but I can't find any suggestions how to do so or the suggestions I found so far are not working.
e.g. there is no collections attribute anymore on the stencil config to include external components and this, which I found on the official documentation to distribute the components is not working:
In a stencil-app-starter app
Run npm install my-name --save
Add an import to the npm packages: import my-component;
Then you can use the element anywhere in your template, JSX, html etc.
I know that the components work because I successfully integrated them into an Angular and React App already.
Thanks for your help in advance :)

I had the same problem and just solved it. I'm building a StencilJS app and tried to use my component library #elgervb/stencil-components.
Here is what I did to get it working:
I've added my library with:
yarn add #elgervb/stencil-components
and in tsconfig.json I added typeRoots to the compilerOptions to load my types:
"typeRoots": [
"node_modules/#elgervb"
]
After that I can use all of my components in my app:
<evb-filepicker accept="image/*">
<evb-button>Pick image</evb-button>
</evb-filepicker>
Hope this helps :-)

Related

Title cannot contain "Automatic import from npm to vue app"

npm is great to download some js libraries, but including the into a vue app is really hard. i have no idea if there is an "official" way, but searching online i see so many different approaches.
sometimes it is imported in the app.js file, sometimes in the .vue files inside the tags. i have also seen that there are vue plugins that handle differently. how should i know if i have a vue plugin or not? i don't even know what the other option would be. like a vue module instead of a vue plugin?
is there a way that the vue app just includes/imports the stuff from node_modules so i can use it? so that after doing some npm install it is all available?
Npm just downloads the library into the node_modules folder and let's you access it where you need it.
If it's a vue component you need to import it in a vue file, because that's where you need it.
If it's a vue plugin you have to import it in the main js file because that's where it gets initalized in the whole app.
Looks like you are new to vue, I suggest you to take a look at this simple guide where you can learn some basic stuff.

Use Electron in Vue project

I want put my Vue project in the Electron, so I find the method in the Internet. According to the given method on the Intenet, I make a demo to test it.
At frist, I create Vue project using vue create myProject, then I use vue add electron-builder to add Electron, then I choose the Electron version, then it prepare to install the additional dependencies. But the error is thereļ¼š
Someone could help me? Thanks!
electron-vue: An Electron & Vue.js quick start boilerplate with vue-cli scaffolding.
maybe you can try it.

vue-select, buefy CSS not working on production | NUXT.JS

I am using buefy autocomplete component with nuxt.js. I have imported the CSS file. and the CSS working properly on the localhost but on the live server is not working. I thought the problem may be with buefy but the same problem I am facing with vue-select autocomplete.
Everything is perfect on the local server but when I move my files to live server and do num run build noting works from buefy and vue-select.
Note: the rest of all CSS working just fine
Localhost
Production
And it's not only autocomplete component, none of the buefy components are working, Radio Buttons, Calender etc.
A little guidance will be appreciated.
Thanks
As of today, Buefy has an official support for Nuxt. Instead of importing buefy's css inside nuxt.config.js and creating a new plugin, you can use a nuxt module.
If you create a new Nuxt project using create-nuxt-app, you can choose to add Buefy as your UI framework.
If you have an existing nuxt project, you can simply install the nuxt-buefy module manually:
npm i nuxt-buefy
nuxt.config.js
...,
modules: [
'nuxt-buefy',
],
...

Nuxt Buefy components using CDN

I am new to nuxt. I want to know whether is it possible to use Buefy on nuxt just by using CDN
as I directly imported beufy CDN in script in head function of nuxt.config
But it gave error while using navbar of beufy that the component is not registered correctly.
Nuxt supports buefy by default, when installing using npx create-nuxt-app you'll be asked if you want to use a component framework (buefy is an option here).
If you want to use it in an installed project you can npm install buefy --save and then add "nuxt-buefy" in the modules array of your nuxt.config

Adding Routing to a Vue.js cli 3.0 app

The new Vue.js 3.0 plugin architecture is nice, but it seems to to be missing a router plugin. If I choose not to install routing when I first create the project (vue create my-project), I'd expect that I could change my mind later and add routing with something like vue add #vue/router, but that plugin doesn't appear to exist. Is there a way to add routing from the CLI after the fact?
After some experimenting with vue-cli3, i found that you can use vue add to setup components you missed.
Use vue add router That set up the routing and created some sample components Home and About.
This also work for other modules like adding vuetify with vue add vuetify. You can read more about vue add from the plugins and presets guide
Have a look at the issue page here: https://github.com/vuejs/vue-cli/issues/1202, the conclusion is you can't use cli to add router if you didn't choose router initially.
With three reasons:
Late-adding router when you've already modified the entry file is extremely fragile.
If you haven't modified the file much, you can just re-generate the project instead.
If we only add the dependency and skip the file-modifying part, then it's easier to just npm install vue-router or yarn add vue-router.