【问题标题】:Add .js/.css files to .svelte component将 .js/.css 文件添加到 .svelte 组件
【发布时间】:2020-12-17 14:48:04
【问题描述】:

我想给 svelte 添加 swiper 滑块,我的问题是:

  1. 可以在脚本标签中添加css,如下所示:
<script> import from "styles.css" ... </script> 

因为导入到头部很棘手 (Import css in node_modules to svelte)

  1. 我将swiper.js 文件添加到svelte,它几乎可以工作。它适用于触摸(鼠标),但按钮不起作用(.swiper-button-next.swiper-button-prev)。是否存在特殊的导入 .js 文件规则?

代码示例:https://codesandbox.io/s/musing-leavitt-ygstx?file=/App.svelte:224-243

【问题讨论】:

    标签: svelte swiper


    【解决方案1】:
    1. 使用汇总,您可以像导入 .js 模块一样导入 css 文件:
    <script>
      import { onMount } from "svelte";
      import "swiper/swiper-bundle.min.css"; // <- just import your css
      ...
    </script>
    
    1. 导航问题写在swiper documentation:

    默认情况下,Swiper 仅导出核心版本,没有附加模块(如导航、分页等)。所以你也需要导入和配置它们:

    // 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 的链接。

    【讨论】:

    • 感谢您的回答,我将您的示例插入项目(路由模板 - routify.dev/guide/installation)并得到错误:[!]错误:意外字符'@'(请注意,您需要插件才能导入不是 JavaScript 的文件)。当我删除时它消失了 - 导入“swiper/swiper-bundle.min.css”;
    • 它与工兵一起工作,看起来需要添加一些加载器来汇总
    • 是的,你需要一个像 [rollup-plugin-css-only ](npmjs.com/package/rollup-plugin-css-only) 这样的插件。那么它会回答你的问题吗?
    • 是的,你帮了我很多。谢谢,请添加回答插件,mb它的帮助某人:)
    • @vladbelozertsev 你能不能别忘了给我的答案投票? :)
    猜你喜欢
    • 2012-12-26
    • 2020-11-25
    • 2021-03-19
    • 2020-09-21
    • 1970-01-01
    • 2014-06-28
    • 2011-12-21
    • 2019-12-15
    • 1970-01-01
    相关资源
    最近更新 更多