当前位置: 首页 > news >正文

网站的连接二维码怎么做中国十大品牌营销策划公司

网站的连接二维码怎么做,中国十大品牌营销策划公司,广安网站开发,学ui设计学费需要多少钱前言 项目中会用到工具库、函数库以及一些跟框架绑定的组件,如果这些基础模块每个项目都实现一套,维护起来那真的头大,你说呢😉 搭建流程 准备工作 创建文件夹myLib、安装Git以及pnpm 目录大概就系这样子: myLib ├…

前言

项目中会用到工具库、函数库以及一些跟框架绑定的组件,如果这些基础模块每个项目都实现一套,维护起来那真的头大,你说呢😉

搭建流程

准备工作

创建文件夹myLib、安装Git以及pnpm

目录大概就系这样子:

myLib
├── .husky
│   ├── commit-msg
│   └── pre-commit
├── packages
│   └── utils
│       ├── lib
│       │   ├── index.cjs.js
│       │   ├── index.esm.js
│       │   └── index.d.ts
│       ├── src
│       │   └── index.ts
│       ├── rollup.config.js
│       ├── tsconfig.json
│       └── package.json
├── .eslintrc.js
├── .prettierrc
├── commitlint.config.js
├── pnpm-workspace.yaml
├── tsconfig.json
└── package.json

配置Typescript

pnpm add -D -w typescript tslib
pnpm tsc --init

tsconfig.json

{
    "files": [],
    "references": [
      { "path": "./packages/utils" }
    ]
  }

 pnpm-workspace.yaml

packages:
  - 'packages/*'

package.json

  "scripts": {
    "postinstall": "husky install",
    "lint": "eslint packages/**/*.{ts,js} --fix"
  }

子包

tsconfig.json配置 

{
  "compilerOptions": {
    "rootDir": "./src",
    "declaration": true,
    "declarationDir": "./lib",
    "emitDeclarationOnly": true,
    "module": "esnext",
    "target": "es6",
    "moduleResolution": "node",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true
  },
  "include": ["src/**/*"]
}

Rollup打包

pnpm add -D rollup @rollup/plugin-node-resolve @rollup/plugin-commonjs @rollup/plugin-typescript typescript

rollup.config.js

import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import typescript from '@rollup/plugin-typescript';

export default {
  input: "src/index.ts",
  output: [
{
    file:"lib/index.cjs.js",
    format:"cjs",
},
{
    file:"lib/index.esm.js",
    format:"esm",
},
  ],
  plugins:[
    resolve(),
    commonjs(),
    typescript()
  ]
};

package.json

  "scripts": {
    "build": "rollup -c"
  } 

git commit 验证

记得用git先初始化下仓库

pnpm add -D -w husky @commitlint/{config-conventional,cli}
pnpm husky install

pnpm dlx husky-init --pm=pnpm

npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'

commitlint.config.js

module.exports = {
  extends: ['@commitlint/config-conventional']
}; 

配置Eslint和Prettier

 pnpm add -D -w eslint prettier eslint-config-prettier eslint-plugin-prettier

eslint.config.js

const path = require('path');
const { ESLint } = require('eslint');
const tsParser = require('@typescript-eslint/parser');
const tsPlugin = require('@typescript-eslint/eslint-plugin');
const prettierPlugin = require('eslint-plugin-prettier');

module.exports = [
  {
    files: ['packages/**/src/**/*.{ts,js}'],
    ignores: ['node_modules'],
    languageOptions: {
      parser: tsParser,
      parserOptions: {
        ecmaVersion: 2020
      },
    },
    plugins: {
      '@typescript-eslint': tsPlugin,
      prettier: prettierPlugin,
    },
    rules: {
      'prettier/prettier': 'error',
      'no-unused-vars': 'off',
      '@typescript-eslint/no-unused-vars': 'warn',
    },
  },
]

.prettierrc

{
    "singleQuote": true,
    "trailingComma": "all",
    "printWidth": 80
  } 

.husky/pre-commit

pnpm run lint 

打包

最后

整体的框框已经搭建起来,把需要的工具、函数和组件写入即可,发布子包到私有仓库即可内部使用啦~

http://www.ds6.com.cn/news/50234.html

相关文章:

  • 学校网站建设考评办法sem竞价托管价格
  • 天津市网站制作 公司百度信息流广告怎么投放
  • 电商网站设计公司力荐亿企邦公司网页制作
  • 普宁做网站打开app下载
  • 内蒙古网站建设百度广告联盟网站
  • 网站seo注意事项北京企业网站seo平台
  • 网站备案真实性核验单下载实时热搜
  • 网站实名认证查询申请表国内能用的搜索引擎
  • 提供做网站费用保定网站建设公司哪家好
  • 做运营需要知道素材网站搜索引擎有哪些
  • 男医生给产妇做内检小说网站公众号怎么做文章推广
  • 怎么用图片做网站背景图世界杯最新排名
  • 怎样用网站做淘宝客新产品推广方案策划
  • 网站建设售后完善app开发多少钱
  • 科技有限公司 网站制作网站快速排名服务
  • cms做淘宝客网站东莞网站优化公司
  • 西数网站管理助手网络推广服务协议
  • 网站建设营销方案南平seo
  • 网站四对联广告代码广州seo搜索
  • 赣州市 城乡建设委员会网站个人怎么做互联网推广平台
  • 百度网站标题优化缅甸最新新闻
  • 沈阳外贸网站建设网站优化seo培训
  • mui做的h5网站案例企业网站制作教程
  • 汕头 网站商丘seo公司
  • 网站建设创新郑州网络营销公司排名
  • google map wordpress网站seo李守洪排名大师
  • 北京海大网智网站建设制作公司微信小程序开发费用
  • 如何给网站做防盗链网站推广软件下载
  • 建设工程信息网官网新网站免费网站alexa排名查询
  • 西安给大学做网站公司全媒体广告代理加盟