shoelace/docs/getting-started/installation.md

54 wiersze
2.0 KiB
Markdown
Czysty Zwykły widok Historia

2020-07-15 21:30:37 +00:00
# Installation
You can use Shoelace via CDN or by installing it locally.
## CDN Installation (Recommended)
The easiest way to install Shoelace is with the CDN. A lightweight loader will be added to your page that registers components asynchronously as you use them. It's like magic. ✨
Just add the following tags to your page.
```html
<link rel="stylesheet" href="https://unpkg.com/@shoelace-style/shoelace@%VERSION%/dist/shoelace/shoelace.css">
<script type="module" src="https://unpkg.com/@shoelace-style/shoelace@%VERSION%/dist/shoelace/shoelace.esm.js"></script>
```
2020-07-19 15:30:01 +00:00
Now you can [start using Shoelace!](/getting-started/usage.md)
2020-07-15 21:30:37 +00:00
## Local Installation
If you don't want to use the CDN, you can install Shoelace locally with the following command.
```sh
npm install @shoelace-style/shoelace
```
It's up to you to make the source files available to your app. One way to do this is to create a route in your app called `/assets/shoelace` that serves static files from `node_modules/@shoelace-style/shoelace`.
Once you've done that, add the following tags to your page. Make sure to update `href` and `src` so they point to the route you created.
```html
<link rel="stylesheet" href="/assets/shoelace/shoelace.css">
<script type="module" src="/assets/shoelace/shoelace.esm.js"></script>
```
2020-07-19 15:30:01 +00:00
## Importing Custom Elements
A [custom elements bundle](https://stenciljs.com/docs/custom-elements) is also exposed so you can import components and register them individually. This is a flexible alternative to the lazy loading approach described above.
2020-07-19 15:34:12 +00:00
To import a single Shoelace component, use this syntax.
2020-07-19 15:30:01 +00:00
```js
import { Button } from '@shoelace-style/shoelace/dist/custom-elements';
customElements.define('sl-button', Button);
```
For convenience, the bundle also exports a `defineCustomElements()` method. When this method is called, it will automatically define all Shoelace components in the bundle.
```js
import { defineCustomElements } from '@shoelace-style/shoelace/dist/custom-elements';
defineCustomElements();
```