>  기사  >  웹 프론트엔드  >  uniapp 커스텀 컴포넌트가 패키징된 후 표시되지 않는 문제를 해결하는 방법

uniapp 커스텀 컴포넌트가 패키징된 후 표시되지 않는 문제를 해결하는 방법

PHPz
PHPz원래의
2023-04-14 13:33:523171검색

프런트엔드 개발 기술의 급속한 발전으로 인해 점점 더 많은 개발자가 멀티엔드 개발을 위해 uniapp 프레임워크를 사용하기로 선택하고 있습니다. 그런데 uniapp 커스텀 컴포넌트를 사용하다 보면 패키징 후 해당 컴포넌트가 표시되지 않는 문제가 가끔 발생합니다. 다음으로 유니앱의 커스텀 컴포넌트가 패키징된 후 표시되지 않는 문제에 대한 해결 방법을 자세히 살펴보겠습니다.

문제 해결을 시작하기 전에 유니앱 커스텀 컴포넌트의 패키징 과정을 이해해야 합니다. uniapp을 사용하여 커스텀 컴포넌트를 작성할 때 컴포넌트의 vue 파일에 컴포넌트의 로직을 작성하고, 컴포넌트를 내보낼 때 내보내기 기본 문을 사용하여 현재 컴포넌트를 내보내고 등록한 다음, 마지막으로 컴포넌트를 컴포넌트를 사용해야 하는 vue 파일이 전부입니다. 이 프로세스에는 구성 요소 스타일 시트, 템플릿 등이 포함될 수 있습니다.

HBuilderX에서 npm run build를 사용하거나 uniapp 프로젝트를 패키징하면 실제로 현재 프로젝트의 모든 소스 코드를 정적 리소스 파일로 패키징하고 해당 매니페스트.json 파일을 생성합니다. 마지막으로 패키징된 리소스 파일과 매니페스트는 다음과 같습니다. .json 파일은 dist 디렉터리에 함께 배치됩니다. 이러한 패키지 파일은 궁극적으로 서버에 배포하는 데 필요한 파일입니다.

웹 페이지에 uniapp 커스텀 컴포넌트를 도입하면 실제로 Vue 컴포넌트가 JS를 통해 동적으로 생성되고, 생성된 컴포넌트는 현재 vue 파일의 DOM에 하위 컴포넌트로 삽입됩니다. uniapp을 패키징할 때 패키징 도구는 현재 프로젝트에서 도입된 모든 정적 리소스(컴포넌트 스타일 시트, 템플릿, JS 로직 등 포함)를 추출하여 이를 독립적인 .css.js文件,然后在index.html文件中通过link或script标签引入这些文件。这些生成的.css.js 파일로 패키징합니다. 이는 사용자 정의 컴포넌트를 사용할 때 필요한 것입니다. 가져온 파일.

그러나 경우에 따라 패키지된 구성 요소가 성공적으로 표시되지 않는 것을 발견했습니다. 이는 일반적으로 다음과 같은 이유로 발생합니다.

  1. 구성 요소의 스타일 시트가 올바르게 패키징되지 않았습니다.

사용자 정의 구성 요소에서는 때때로 import 문을 사용하여 일부 타사 구성 요소 라이브러리의 스타일 시트를 소개하고 적용합니다. 현재 구성 요소에. 그러나 패키징 후 가져온 스타일 시트는 경로 문제로 인해 최종 uniapp 구성 요소 스타일 시트에 올바르게 패키징되지 않을 수 있습니다. 이때, 패키징된 component.css 파일에 해당 컴포넌트의 스타일시트 파일이 존재하는지 확인해야 합니다.

  1. 컴포넌트 이름이 사양에 따라 지정되지 않았습니다

유니앱에서는 각 컴포넌트에 고유한 이름이 있어야 합니다. 이름은 'custom-command'와 같이 소문자와 밑줄로 구분되며, 이름은 전역적으로 고유해야 합니다. 사양에 맞게 컴포넌트 이름이 지정되지 않은 경우 패키징 후 해당 컴포넌트가 표시되지 않을 수 있습니다. 이때 컴포넌트 이름이 명명 규칙을 준수하는지, 다른 컴포넌트 이름과 충돌하는지 확인해야 합니다.

  1. 컴포넌트의 템플릿 또는 스크립트 태그가 올바르게 구문 분석되지 않습니다.

개발 프로세스 중에 특수한 구문이나 코딩 스타일을 사용하면 패키지된 컴포넌트의 템플릿 또는 스크립트 태그가 올바르게 구문 분석되지 않을 수 있습니다. 예를 들어 vue에서 v-for 루프와 같은 구문을 사용하는 경우 uniapp에서도 특수 구문 형식을 사용해야 합니다. 사양에 맞게 기재되지 않은 경우, 포장 후 구성품이 올바르게 표시되지 않을 수 있습니다. 이때 컴포넌트의 템플릿과 스크립트 태그가 uniapp의 구문 사양을 준수하는지 확인해야 합니다.

  1. 컴포넌트가 제대로 내보내지지 않습니다

결국, 컴포넌트 내보내기 역시 컴포넌트가 표시되지 않는 문제가 발생할 수 있습니다. 우리가 내보낸 컴포넌트가 사양에 따라 uniapp의 글로벌 컴포넌트에 올바르게 등록되지 않은 경우 컴포넌트가 올바르게 표시되지 않을 수 있습니다. 이때 컴포넌트가 제대로 익스포트 되었는지, 컴포넌트가 글로벌로 등록되었는지 확인해야 합니다.

결론적으로 위의 네 가지 상황은 모두 uniapp 커스텀 컴포넌트가 패키징된 후 정상적으로 표시되지 않는 가능한 이유입니다. 커스텀 컴포넌트를 사용할 때 위의 사항을 주의 깊게 살펴보고 uniapp의 사양에 맞게 작성하고 패키징해야 합니다. 이런 방법으로만 사용자 정의 구성요소가 uniapp에서 정상적으로 사용될 수 있도록 보장할 수 있습니다.

위 내용은 uniapp 커스텀 컴포넌트가 패키징된 후 표시되지 않는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.