一、在vue中使用scss

首先进行安装如下依赖:

 

cnpm i sass-loader node-sass -D

 

二、vue中引入样式文件

1)在index.html模板html文件中引入,这种方式引入的原样编译在生成的html文件中,如果想要通过link引入外部的样式文件,建议使用这种方式:

复制代码
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>2imis</title>
    <link rel="stylesheet" href="./static/reset.css">   
  </head>
  <body>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>
</html>
复制代码

2)在入口js文件main.js中引入,一些公共的样式文件,可以在这里引入。这里会对scss文件进行解析,将对应的css代码插入生成html文件的style标签中,成为内联样式。

复制代码
import Vue from 'vue'
import App from './App'
import router from './router'
import ElementUi from 'element-ui'
import '@/common/scss/theme-blue.scss'

Vue.config.productionTip = false
Vue.use(ElementUi);
/* eslint-disable no-new */
new Vue({
    router,
    render: h => h(App)
}).$mount('#app');
复制代码

3)在对应的模板.vue文件中引入

发现一个问题,如果不在main.js中引入,直接在诸如app.vue文件中引入scss文件时候,虽然会将css代码插入生成的html标签中成为内联样式,但是不会讲scss文件进行解析,会引发问题。

难道scss文件必须首先在入口的index.js中引入,才能将scss解析,具体的vue中依赖某一个scss,还需要单独再引入一次。

学习地址:http://www.cnblogs.com/bobodeboke/p/7009860.html

Logo

前往低代码交流专区

更多推荐