Skip to content

Latest commit

 

History

History

docs

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

git: https://github.com/18236324510/nomo

1、搭建monorepo环境

我们使用pnpm当做包管理工具,用pnpm workspace来实现monorepo。可以看下面参考文章里面的介绍,结合官网有个基础的了解。下面我们正式开始搭建。

npm install pnpm -g # 全局安装pnpm
pnpm init # 初始化package.json配置⽂件 私有库
pnpm install vue typescript -D # 全局下添加依赖

添加.npmrc文件,

shamefully-hoist = true  // 作用依赖包都扁平化的安装在node_modules下面

在项目根目录下面创建pnpm-workspace.yaml配置文件。

packages:
  - "packages/**" # 存放所有组件
  - docs # 文档
  - play # 测试组件

嗯,让我来解释一下。在pnpm中,如果你在workspace的根目录下运行pnpm add命令添加一个包,pnpm会默认在workspace中的其他包中查找这个包。这意味着你不需要显式地添加@workspace:*来告诉pnpm在workspace中查找这个包。

所以,如果你在workspace根目录下运行pnpm add cui-commitlint-config -D,pnpm会自动在workspace中的其他包中查找并安装cui-commitlint-config这个包,而不需要额外添加@workspace:*

或者重新建个文件夹

2、编写commitlint

import { RuleConfigSeverity } from '@commitlint/types'
export default {
    extends: ['@commitlint/config-conventional'],
    rules: {
        'type-enum': [
            RuleConfigSeverity.Error,
            'always',
            [
                'cui',
                'build',
                'chore',
                'ci',
                'docs',
                'feat',
                'fix',
                'perf',
                'refactor',
                'revert',
                'style',
                'test',
            ],
        ],
    },
}

在主包安装引用

export default {
    extends: ['@nomo/commitlint'],
}

3、发布

  1. 设置npm源,org的
  2. npm log
  3. npm whoami
  4. Npm publish

就是没登陆对

npm登陆超时,网上大部分方法不靠谱!!!,就是网络原因

npm publish包报404,is not in the npm registry错误

出现错误的原因是,我在npm上的用户名是A,而我的包名是 @B/xxxx。

npm规定包名中,@后是用户名,我这里是B,而我的用户名是A。这就是报错的原因。

解决办法也很简单,修改包名,或者用B的账号publish就可以了

发布自己@开头的包

https://www.npmjs.cn/misc/scope/

https://docs.npmjs.com/creating-and-publishing-scoped-public-packages

npm publish --access public

4.搭建文档站点

VuePress

启动报错

vuejs/vuepress#3218

更新完pnpm报错,需要再更新pnpm版本

npm install pnpm -g