프런트 엔드 기술의 발전이 증가함에 따라 Vue.js 기반 모바일 개발 프레임워크 uni-app은 고도로 구성 요소화되고 크로스 플랫폼 개발 특성으로 인해 점점 더 많은 개발자가 선호합니다. 하지만 프로젝트의 규모가 커지면서 유니앱을 사용하여 개발을 하다 보면 가끔 문제가 발생하는 경우가 있습니다. 특히 컴포넌트를 참조할 때 해당 CSS를 찾을 수 없는 경우, 많은 분들이 이런 문제를 겪으셨을 거라 생각합니다. 이번 글에서는 uni-app의 컴포넌트 레퍼런스가 CSS를 찾을 수 없는 문제에 대한 해결 방법을 자세히 소개하겠습니다.
1. 문제 설명
uni-app에서는 개발할 때 다른 사람이 개발한 컴포넌트 라이브러리를 사용하는 경우가 많습니다. 그러나 사용 중에 다른 구성 요소 라이브러리의 구성 요소를 참조할 때 일부 CSS 스타일이 성공적으로 참조되지 않아 구성 요소 표시에 문제가 발생하고 아래 그림과 같이 전체 프로젝트가 매우 조화되지 않게 보이는 것을 발견하게 됩니다.
2. 문제 분석
1. .Reason
일반적으로 구성 요소의 스타일은 구성 요소 내의 스타일 태그에 정의되며 구성 요소의 JavaScript 코드는 런타임 시 페이지에 동적으로 삽입됩니다. 그러나 npm을 통해 설치된 타사 구성 요소의 스타일은 페이지에 동적으로 로드할 수 없으므로 스타일이 작동하지 않습니다.
2. 솔루션
문제의 근본 원인은 구성 요소의 스타일을 페이지에 동적으로 로드할 수 없기 때문에 타사 구성 요소의 스타일을 프로젝트에 로드할 수 있는 방법을 찾아야 합니다. 해결 방법:
① 타사 구성 요소의 구성 요소와 스타일을 소스 코드에서 직접 프로젝트에 복사한 다음 참조하세요. 이 방법은 가능하지만 프로젝트의 복잡성과 유지 관리 및 업데이트의 어려움이 증가합니다.
② uni-app에서 제공하는 스타일 확장 기능을 사용하여 플러그인을 통해 타사 구성 요소의 스타일을 프로젝트에 로드합니다.
3. 솔루션 구현
여기에서는 Mint UI 스타일을 예로 들어 uni-app에서 제공하는 스타일 확장 기능을 사용하여 타사 구성 요소의 스타일을 프로젝트에 로드하는 방법을 소개합니다.
먼저 유니앱에서 제공하는 스타일 확장 플러그인을 설치해야 합니다. 설치할 uni-app 프로젝트에 다음 명령을 입력하세요:
npm install uniapp-style-loader --save-dev
npm install uniapp-style-loader --save-dev
在项目根目录下找到vueconfig.js
文件,添加以下代码:
configureWebpack: { module: { rules: [ { test: /\.(vue|(j|t)sx?)$/, exclude: /node_modules/, use: [ { loader: 'uniapp-style-loader', options: { // 可选参数,最大改变css、less、scss数量(默认3000) maxImport: 3000, }, } ] } ] } },
安装好样式扩展插件后,我们需要将需要引入的第三方组件的样式写到一个特定的文件中,例如我们将需要引入的Mint UI的样式写到assets/style/mint-ui.scss
文件中。然后在main.js
프로젝트 루트 디렉터리에서 vueconfig.js
파일을 찾아 다음 코드를 추가하세요.
// 引入样式 import '@/assets/style/mint-ui.scss';
assets/style/mint-ui.scss
파일. 그런 다음 main.js
파일에서 이를 참조하세요. rrreee
이 시점에서 Mint UI 스타일 파일을 프로젝트에 성공적으로 로드했습니다. 프로젝트를 다시 컴파일한 결과, 아래 그림과 같이 컴포넌트 도입 후 효과가 잘 복구된 것을 확인했습니다. 🎜🎜위 내용은 uniapp에서 참조된 컴포넌트가 CSS를 찾을 수 없는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!