【问题标题】:Include local CSS files in a single vue component在单个 vue 组件中包含本地 CSS 文件
【发布时间】:2019-05-18 23:12:03
【问题描述】:

正在构建 Laravel vue SPA,我需要知道如何仅在单个 vue 组件中包含本地 CSS 文件?

【问题讨论】:

  • 你指的是作用域 CSS 吗?参考:vue-loader.vuejs.org/guide/scoped-css.html
  • 我使用了作用域 css,但它只有在我刷新页面并且仍然影响通过 vue 路由器加载的其他组件时才有效

标签: laravel-5 vuejs2 vue-component single-page-application


【解决方案1】:

您可以通过scss 使用@import,如下所示:

<style lang="scss" scoped>
  @import '../css/mycss.scss'; /* injected */
  @import '../css/mycss.css'; /* will use url import (do not use)*/
</style>

这可能需要你添加 node-sass 依赖并对你的 webpack 配置做一些调整,如果你还没有的话。如果您使用的是 Vue cli 生成的项目,它可能已经包含在内。

请注意,如果您希望 css 有作用域,您应该将扩展名重命名为 .scss,这样它将由 vue-loader 处理。导入.css 文件的方式不同,它被视为 url 导入。

【讨论】:

  • 不要害怕将导入嵌套在 css 选择器下,它可以工作!
  • 重要的是扩展名应该是.scss
【解决方案2】:

您可以在脚本标签内的组件上导入 CSS 文件

这对我有用:

<template>
</template>

<script>
import "@/assets/<file-name>.css";

export default {}
</script>

【讨论】:

    猜你喜欢
    • 2019-09-02
    • 2018-03-05
    • 2019-08-27
    • 1970-01-01
    • 2018-04-22
    • 2017-10-02
    • 2011-08-03
    • 2018-01-03
    • 2016-04-05
    相关资源
    最近更新 更多