vue 修改引入组件的样式,vue批量引入组件

  vue 修改引入组件的样式,vue批量引入组件

  本文主要介绍了vue project如何自动将全局样式文件注入到组件中,有很好的参考价值,希望对大家有所帮助。如有错误或不足之处,请不吝赐教。

  

目录

   Less和Stylus安装样式-资源-加载器配置在vue.config.jsSass/Scss扩展的开发过程中,随着项目的变大,不可避免的要提取一些常用的样式,比如变量、mixins、函数等。几乎用于所有业务组件:

  - src

  -风格

  -变量. less

  -混合少

  -功能更少

  如果每个必需的组件都必须手动导入一次,那就太麻烦了:

  script lang=less

  @导入./styles/variables ;

  @导入./styles/mixins ;

  @导入./style/functions ;

  //其他样式

  /脚本

  当然,最直接的改进方案是创建一个包含导入条目样式的entry.less文件,然后导入到各个组件中:

  //entry.less

  @import 。/variables ;

  @import 。/mixins ;

  @import 。/functions ;

  script lang=less

  @导入./styles/entry ;

  //其他样式

  /脚本

  不过手动导入毕竟复杂,如果能自动导入就太好了。幸运的是,配置自动导入并不复杂。这里以Less、Stylus、Sass/Scss等常见的前置处理器为例,说明如何在vue项目中配置自动导入:

  

Less和Stylus

  配置Less和Stylus的自动导入有两种方案:

  使用样式-资源-加载器使用vue-CLI-plugin-style-resources-loader。这里推荐使用第一种,因为第二种只是第一种的打包,暂时不支持热更新。

  

安装style-resources-loader

  $ npm i -D样式-资源-加载程序

  

配置vue.config.js

  如果项目根目录下没有vue.config.js文件,只需手动创建即可,然后插入以下代码:

  //vue.config.js

  const path=require(path )

  模块.导出={

  chainWebpack: config={

  常量类型=[vue-modules , vue , normal-modules , normal]

  types . foreach(type=addStyleResource(config . module . rule( less )。oneOf(type))) //A

  },

  }

  函数addStyleResource(规则){

  rule.use(“样式-资源”)。加载程序(“样式-资源-加载程序”)。选项({

  模式:[

  path.resolve(__dirname,。/src/styles/entry.less ),//B

  ],

  })

  }

  如果您想要配置多个导入,只需在B行之后继续添加:

  模式:[

  path.resolve(__dirname,。/src/styles/entry1.less ),

  path.resolve(__dirname,。/src/styles/entry2.less ),

  ],

  如果项目使用样式,请用types . foreach(type=addstyleresource(config . module . rule( Styles )替换行A。Oneof (type))和带有* path.resolve (_ _ dirname,)的B行。/src/styles/entry.stylel

  

Sass/Scss

  其实上面的方案也可以用于Sass/Scss配置的自动导入,但是用它的原生方案更方便,在vue.config.js中配置就可以了:

  //vue.config.js

  模块.导出={

  css: {

  loaderOptions: {

  萨斯:{

  prepend data:` @ import @/styles/entry . scss ;`//A

  }

  }

  }

  }

  如果您想要配置多个导入,只需将它们添加到行A:

  //vue.config.js

  模块.导出={

  css: {

  loaderOptions: {

  萨斯:{

  前置数据:` 1

  @ import @/styles/entry 1 . scss ;

  @ import @/styles/entry 2 . scss ;

  `

  }

  }

  }

  }

  注意:在sass-loader@8.0.0之前,上面的prependData应该替换为Data。

  

扩展

  如果在使用vue create创建项目时没有选择手动选择功能或CSS预处理程序,则默认情况下,项目中将使用原生CSS。但是,vue的默认Webpack配置内置了对CSS预处理程序的支持,所以您只需要安装响应依赖项,然后在项目文件中使用相应的语法编写样式:

  //更少

  $ npm内径减装载机

  //Sass/Scss

  $ npm i -D节点-sass sass-加载程序

  //手写笔

  $ npm i -D唱针唱针加载器

  以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: