美文网首页
前端vue组件库开发注意点

前端vue组件库开发注意点

作者: Gary嘉骏 | 来源:发表于2023-11-29 16:15 被阅读0次

    初始化

    文件目录

    - packages  #组件
    - cli  # 脚手架,一件添加新组件的文件,包括文档里的文件
    - docs  # 文档
    - play  #  组件开发环境
    
    1. 使用pnpm 的workspace, 需要pnpm-workspace.yaml 和package.json里配置有哪些包。

    pnpm-workspace.yaml

    packages:
      - packages/*
      - cli
      - docs
      - play
      # exclude packages that are inside test directories
      - '!**/test/**'
    

    package.json

    "workspaces": [
        "packages/*",
        "cli",
        "docs",
        "play"
      ],
    
    1. package.json要设置type为module

    2. 不需要创建一个 .npmrc 文件,配置 shamefully-hoist 为 true(扁平结构), 因为使用pnpm就避免了这个问题。

    3. 使用 npx eslint --init 初始化 ESLint 配置, 后面的自动下载会失败,可以手动复制,加上 -D -w下载。后面的开发可以配合vite-plugin-eslint强制代码风格正确。

    打包注意事项

    1. 尽量打包到dist里,不要改成其他如lib,可能外部项目导致无法导出子文件(我这里导不出style.css)

    2. package.json要正确加上配置

    "type": "module",
      "main": "./dist/hj-ui-plus.umd.js",
      "module": "./dist/hj-ui-plus.es.js",
      "types": "./dist/hj-ui-plus/index.d.ts",
      "files": [
        "./dist",
        "package.json",
        "README.md"
      ],
      "exports": {
        ".": {
          "types": "./dist/hj-ui-plus/index.d.ts", // 虽然上面加了,但这里还要加,不然typescript会报错(虽然可以在tsconfig.json里的compilerOptions改"noImplicitAny": false,但这样及降低健壮性了)
          "require": "./dist/hj-ui-plus.umd.js",
          "import": "./dist/hj-ui-plus.es.js"
        },
        "./*": "./*"  // 这个也必须加,不然也导不出子项目
      },
    

    发布gihub page

    可以用包 gh-pages

    不过要注意项目的.git - config 里的url要是ssh的地址,不然命令行运行时会报错443。

    遇见一奇怪错误,features文案中有<script setup>的话编译生产后,主页会报读locales错误,还无法点击跳转。vitepress版本1.0.0-rc.30

    基本框例子: https://github.com/Garyhjj/hj-ui-plus

    相关文章

      网友评论

          本文标题:前端vue组件库开发注意点

          本文链接:https://www.haomeiwen.com/subject/dqizwdtx.html