sf-v3-ui
TypeScript icon, indicating that this package has built-in type declarations

0.1.3 • Public • Published

一个 vue3 组件库

技术栈

vue3+ts+vite

快速上手

安装

npm i sf-v3-ui
yarn add sf-v3-ui

全局引入

import { createApp } from "vue";
import App from "./App.vue";
import sf-v3-ui from "sf-v3-ui";
import "sf-v3-ui/es/style.css"
import "lib-flexible";

createApp(App).use(sf-v3-ui).mount("#app");

按需引入(支持)

默认支持基于 ES modules 的 tree shaking,对于 js 部分,直接引入 import { SFButton } from 'sf-v3-ui' 就会有按需加载的效果。

vite

  1. 安装vite-plugin-style-import
npm i vite-plugin-style-import -D
  1. vite.config.ts 添加配置
import style from "vite-plugin-style-import";
...
export default defineConfig({
  ...
  plugins: [
    style({
      libs: [
        // 如果没有你需要的resolve,可以在lib内直接写,也可以给我们提供PR
        {
          libraryName: "sf-v3-ui",
          esModule: true,
          resolveStyle: (name) => {
            return `sf-v3-ui/es/style.css`;
          },
        },
      ],
    }),
  ]
})
  1. 页面直接使用相应组件即可
import { SFButton} from 'sf-v3-ui''

webpack

  1. 安装babel-plugin-import
npm install babel-plugin-import --save-dev
  1. .babelrcbabel.config.js 中添加配置: (随着组件库的丰富,这里的配置可能需要更新)
plugins: [
    [
      "import",
      {
        libraryName: "sf-v3-ui",
        libraryDirectory: "es/packages",
        camel2DashComponentName: false,
        customName: (name) => {
          return `sf-v3-ui/es/packages/${name.slice(1).toLowerCase()}`;
        },
        style: () => {
          return "sf-v3-ui/es/style.css";
        },
      },
    ],
  ],
  1. 页面直接使用相应组件即可
import { SFButton} from 'sf-v3-ui''

目录结构

├── README.md
├── examples              -- 运行代码
│   ├── App.vue
│   ├── assets
│   ├── components
│   ├── main.ts
│   ├── shims-vue.d.ts
│   └── vite-env.d.ts
├── index.html            --  入口文件
├── packages              -- 组件库
│   ├── button            -- 组件
│   │   ├── index.ts
│   │   └── src
│   │       ├── button.ts    -- 组件ts定义(如果需要)
│   │       └── button.vue  -- 组件
│   └── index.ts         -- 组件库整体导出
├── public
│   └── favicon.ico
├── tests                 -- 测试用例
│   └── button.spec.ts
├── tsconfig.json
├── vite.config.ts        -- 配置文件
└── yarn.lock

注意


.postcssrc.js 配置
module.exports = {
  "plugins": {
    "postcss-import": {},
    "postcss-url": {},
    "postcss-pxtorem": {
      rootValue: 75, //换算基数
    }
  }
}

目录结构

├── README.md
├── examples              -- 运行代码
│   ├── App.vue
│   ├── assets
│   ├── components
│   ├── main.ts
│   ├── shims-vue.d.ts
│   └── vite-env.d.ts
├── index.html            --  入口文件
├── packages              -- 组件库
│   ├── button            -- 组件
│   │   ├── index.ts
│   │   └── src
│   │       ├── button.ts    -- 组件ts定义(如果需要)
│   │       └── button.vue  -- 组件
│   └── index.ts         -- 组件库整体导出
├── public
│   └── favicon.ico
├── tests                 -- 测试用例
│   └── button.spec.ts
├── tsconfig.json
├── vite.config.ts        -- 配置文件
└── yarn.lock

todo

[ ] css拆分

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
0.1.30latest

Version History

VersionDownloads (Last 7 Days)Published
0.1.30
0.1.21
0.1.10
0.1.00
0.0.350
0.0.340
0.0.330
0.0.310
0.0.300
0.0.290
0.0.280
0.0.270
0.0.260
0.0.250
0.0.240
0.0.230
0.0.220
0.0.210
0.0.200
0.0.190
0.0.180
0.0.170
0.0.160
0.0.150
0.0.140
0.0.130
0.0.120
0.0.110
0.0.100
0.0.90
0.0.80
0.0.70
0.0.60
0.0.50
0.0.40
0.0.30
0.0.20
0.0.10

Package Sidebar

Install

npm i sf-v3-ui

Weekly Downloads

1

Version

0.1.3

License

none

Unpacked Size

3.33 MB

Total Files

170

Last publish

Collaborators

  • zhanhaizhao
  • wkstudy
  • tangtang1
  • lvy9529