将 .js/.css 文件添加到 .svelte 组件
Add .js/.css files to .svelte component
我想给 svelte 添加 swiper 滑块,我的问题是:
- 可以在脚本标签中添加css,像这样:
<script> import from "styles.css" ... </script>
因为导入到 head 很棘手 (Import css in node_modules to svelte)
- 我将
swiper.js
文件添加到 svelte,它几乎可以正常工作。它适用于触摸(鼠标),但按钮不起作用(.swiper-button-next
.swiper-button-prev
)。是否存在特殊的导入 .js 文件规则?
代码示例:https://codesandbox.io/s/musing-leavitt-ygstx?file=/App.svelte:224-243
- 使用 rollup,您可以像导入
.js
模块一样导入 css 文件:
<script>
import { onMount } from "svelte";
import "swiper/swiper-bundle.min.css"; // <- just import your css
...
</script>
- 导航问题写在swiper documentation:
By default Swiper exports only core version without additional modules (like Navigation, Pagination, etc.). So you need to import and configure them too:
// core version + navigation, pagination modules:
import Swiper, { Navigation, Pagination } from 'swiper';
// configure Swiper to use modules
Swiper.use([Navigation, Pagination]);
// init Swiper:
const swiper = new Swiper(...);
最后,您的组件初始化可以这样完成:
<script>
import { onMount } from "svelte";
import "swiper/swiper-bundle.min.css";
import Swiper, { Navigation } from "swiper";
Swiper.use([Navigation]);
onMount(() => {
const swiper = new Swiper(".swiper-container", {
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev"
}
});
});
</script>
这是 codesandbox 的 link。
我想给 svelte 添加 swiper 滑块,我的问题是:
- 可以在脚本标签中添加css,像这样:
<script> import from "styles.css" ... </script>
因为导入到 head 很棘手 (Import css in node_modules to svelte)
- 我将
swiper.js
文件添加到 svelte,它几乎可以正常工作。它适用于触摸(鼠标),但按钮不起作用(.swiper-button-next
.swiper-button-prev
)。是否存在特殊的导入 .js 文件规则?
代码示例:https://codesandbox.io/s/musing-leavitt-ygstx?file=/App.svelte:224-243
- 使用 rollup,您可以像导入
.js
模块一样导入 css 文件:
<script>
import { onMount } from "svelte";
import "swiper/swiper-bundle.min.css"; // <- just import your css
...
</script>
- 导航问题写在swiper documentation:
By default Swiper exports only core version without additional modules (like Navigation, Pagination, etc.). So you need to import and configure them too:
// core version + navigation, pagination modules:
import Swiper, { Navigation, Pagination } from 'swiper';
// configure Swiper to use modules
Swiper.use([Navigation, Pagination]);
// init Swiper:
const swiper = new Swiper(...);
最后,您的组件初始化可以这样完成:
<script>
import { onMount } from "svelte";
import "swiper/swiper-bundle.min.css";
import Swiper, { Navigation } from "swiper";
Swiper.use([Navigation]);
onMount(() => {
const swiper = new Swiper(".swiper-container", {
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev"
}
});
});
</script>
这是 codesandbox 的 link。