> 웹 프론트엔드 > JS 튜토리얼 > vue가 sass 전역 변수를 도입하는 방법에 대한 분석

vue가 sass 전역 변수를 도입하는 방법에 대한 분석

不言
풀어 주다: 2018-06-29 11:36:05
원래의
1781명이 탐색했습니다.

이 글은 주로 vue가 sass 전역 변수를 도입하는 방법에 대한 분석을 소개합니다. 이제 특정 참조 가치가 있으므로 필요한 친구들이 참조할 수 있도록 합니다.

sass 이하를 제공합니다. 변수 설정 및 테마 전환이 필요한 프로젝트에서 less 또는 sass 변수를 사용합니다. 이 기사에서는 특정 참조 값을 갖는 vue의 sass 전역 변수 소개를 주로 소개합니다. 관심 있는 친구들은

#🎜 🎜#sass를 참조하세요. 또는 less 둘 다 변수 설정을 제공합니다. 테마를 전환해야 하는 프로젝트에서는 less 또는 sass 변수를 사용합니다. 변수 값이 수정되는 한 변수를 사용하는 모든 스타일은 컴파일 후 원하는 효과로 수정되지만 vue에서는 -cli로 빌드된 프로젝트에서 scss 파일은 main.js에 전역적으로 도입되며 여기에 정의된 변수는 다른 구성 요소나 페이지에서 참조될 때 변수 정의되지 않은 오류를 보고합니다. 이는 분명히 컴파일 문제입니다.

멍청한 명언

전역 변수를 사용하는 모든 구성 요소에 전역 스타일 파일 도입

1

@import 'path/fileName.scss'

로그인 후 복사

하지만 구성 요소나 페이지가 통합 레이어 디렉터리에 없고 가져온 경로도 다를 수 있으므로 sass를 살펴보는 것이 좋습니다. -resources -loader 솔루션.

sass-resources-loader 的解决方法吧。

sass-resources-loader引入sass全局变量

sass-resources-loader可以访问sass资源任何一个需要访问的sass模块。所以,可以使用共享变量和混合所有SASS样式,而不去每个文件都引用。

安装sass-resources-loader

1

npm install --save-dev sass-resources-loader

로그인 후 복사

修改sass配置

build 文件夹下找到 util.js 修改sass编译器loader的配置

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

// 全局文件引入 当然只想编译一个文件的话可以省去这个函数

function resolveResource(name) {

 return path.resolve(__dirname, '../static/style/' + name);

}

function generateSassResourceLoader() {

 var loaders = [

  cssLoader,

  'sass-loader',

  {

   loader: 'sass-resources-loader',

   options: {

    // 多个文件时用数组的形式传入,单个文件时可以直接使用 path.resolve(__dirname, '../static/style/common.scss'

    resources: [resolveResource('common.scss')]

   }

  }

  ];

  if (options.extract) {

   return ExtractTextPlugin.extract({

    use: loaders,

    fallback: 'vue-style-loader'

   })

  } else {

   return ['vue-style-loader'].concat(loaders)

  }

 }

로그인 후 복사

修改sass配置的调用为 generateSassResourceLoader()

1

2

3

4

5

6

7

8

9

10

11

12

13

return {

  css: generateLoaders(),

  postcss: generateLoaders(),

  less: generateLoaders('less'),

  // vue-cli默认sass配置

  // sass: generateLoaders('sass', { indentedSyntax: true }),

  // scss: generateLoaders('sass'),

  // 新引入的sass-resources-loader

  sass: generateSassResourceLoader(),

  scss: generateSassResourceLoader(),

  stylus: generateLoaders('stylus'),

  styl: generateLoaders('stylus')

 }

로그인 후 복사

main.js 中引用 common.scss
sass-resources-loader는 sass 전역 변수를 도입합니다.

sass-resources-loader는 필요한 모든 sass 리소스에 액세스할 수 있습니다. sass 모듈에 액세스하세요. 따라서 공유 변수를 사용하고 모든 파일에서 이를 참조할 필요 없이 모든 SASS 스타일을 혼합할 수 있습니다.

sass-resources-loader 설치
rrreee

sass 구성 수정

build 폴더에서 util.js 를 찾아 sass 컴파일러 로더의 구성을 수정하세요

#🎜🎜 # rrreee

Sass 구성을 수정하기 위한 호출은 generateSassResourceLoader()#🎜🎜##🎜🎜##🎜🎜#rrreee#🎜🎜##입니다 🎜🎜# #🎜🎜# main.js 에 있는 common.scss 파일을 참조하고 서비스를 재시작하면 여기에 정의된 변수를 다른 컴포넌트에서 사용할 수 있습니다. #🎜🎜##🎜🎜##🎜🎜#위 내용은 모두의 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요! #🎜🎜##🎜🎜#관련 권장 사항: #🎜🎜##🎜🎜##🎜🎜#vue가 Element 구성 요소를 사용할 때 v-for 루프의 양식 항목 확인 방법 정보#🎜🎜##🎜🎜## 🎜 🎜##🎜🎜##🎜🎜#HBulider를 통한 Vue 웹앱 프로젝트 패키징 네이티브 앱 소개#🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜## 🎜 🎜##🎜🎜#

위 내용은 vue가 sass 전역 변수를 도입하는 방법에 대한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿