0(8)부터 Vue3 구성 요소 라이브러리 구축: release-it을 사용하여 자동 관리 및 릴리스 구성 요소 라이브러리 실현

release-it을 사용하여 릴리스 구성 요소 라이브러리를 자동으로 관리

이전 기사에서는 구성 요소 라이브러리를 패키징했으며 이 기사에서는 구성 요소 라이브러리를 게시하는 방법을 소개합니다. 물론 이 글에서 소개하는 것은 단순히 퍼블리싱만큼 단순한 것은 아니다.

구성 요소 라이브러리 출시

pnpm init게시하려는 패키지의 이름은 패키징을 따서 easyest로 지정하므로 생성은 easyest에서 수행됩니다.package.json

{
    
    
  "name": "easyest",
  "version": "1.0.0",
  "main": "lib/index.js",
  "module": "es/index.mjs",
  "files": [
    "es",
    "lib"
  ],
  "keywords": [
    "easyest",
    "vue3组件库"
  ],
  "sideEffects": [
    "**/*.css"
  ],
  "author": "小月",
  "license": "MIT",
  "description": "",
  "typings": "lib/index.d.ts",
}

몇 가지 필드 설명

  • 기본

구성 요소 라이브러리 항목 파일

  • 기준 치수

컴포넌트 라이브러리를 사용하는 환경에서 esmodule을 지원하는 경우 엔트리 파일은 이 필드가 됩니다.

  • 파일

npm의 파일 디렉토리에 게시

  • 부작용

패키징된 컴포넌트 코드가 포함하는 것과 같이 트리 쉐이킹으로 인한 부작용이 있는 코드는 무시하십시오.

import "./xxx.css"

이렇게 하면 빌드 도구가 이 코드에 부작용이 있는지(즉, 다른 가져온 파일의 코드가 사용되는지 여부) 알 수 없으므로 빌드할 때 모든 코드를 패키징하고 자동 주문형 가져오기 기능을 잃게 됩니다. 에스모듈. 따라서 sideEffects 필드를 추가하면 이 코드가 부작용을 일으키지 않는다는 것을 빌드 도구에 알릴 수 있으며 트리 쉐이킹을 안심할 수 있습니다.

  • 타이핑

파일 항목을 선언
하고 패키징 디렉토리에서 pnpm publish를 실행합니다. 이때 npm 계정으로 로그인됩니다. 그렇지 않은 경우 공식 웹 사이트로 이동하여 등록할 수 있습니다. 게시하기 전에 코드를 제출해야 합니다. 창고 또는 접미사 추가 pnpm publish --no- 그냥 git-checks, npm에 로그인하여 방금 릴리스한 패키지를 확인하십시오.
여기에 이미지 설명 삽입

자동 게시

위 릴리즈가 업데이트 될 때마다 수동으로 버전 업그레이드, 수동 태깅 등을 해야 하는 번거로움이 있습니다.

전역적으로 먼저 설치release-it

pnpm add release-it -D -w

그런 다음 가장 쉬운 패키지 파일 아래의 package.json에 스크립트 스크립트와 git 창고 주소를 추가합니다.

{
    
    
  "name": "easyest",
  "version": "1.0.1",
  "main": "lib/index.js",
  "module": "es/index.mjs",
  "files": [
    "es",
    "lib"
  ],
  "keywords": [
    "easyest",
    "vue3组件库"
  ],
  "sideEffects": [
    "**/*.css"
  ],
  "author": "小月",
  "license": "MIT",
  "description": "",
  "typings": "lib/index.d.ts",
    "scripts": {
    
    
    "release": "release-it"
  },
  "repository": {
    
    
    "type": "git",
    "url": "https://github.com/qddidi/easyest"
  }
}

게시 작업을 위해 스크립트 디렉토리에 새 publish/index.ts를 만듭니다.

import run from "../utils/run";
import {
    
     pkgPath } from "../utils/paths";
import {
    
     series } from "gulp";
export const publishComponent = async () => {
    
    
  run("release-it", `${
      
      pkgPath}/easyest`);
};
export default series(async () => publishComponent());

스크립트 명령 gulp를 추가하여 루트 디렉터리의 package.json 파일에서 publish/index.ts를 실행합니다.

  "scripts": {
    
    
    "build:easyest": "gulp -f packages/components/script/build/index.ts",
    "publish:easyest": "gulp -f packages/components/script/publish/index.ts"
  },

그런 다음 변경 사항을 제출하고 실행하면 pnpm run publish:easyest버전 업그레이드 방법, 게시 여부, 태그 추가 여부 등을 선택할 수 있습니다. 여기에 이미지 설명 삽입
선택 후 구성 요소 라이브러리가 성공적으로 릴리스되고 github가 또한 성공적으로 태그를 추가했습니다.

여기에 이미지 설명 삽입

추천

출처blog.csdn.net/weixin_45821809/article/details/130352462