从0搭建Vue3组件库(二):Monorepo项目搭建

本篇文章是从0搭建Vue3组件库系列文章第二篇,本篇文章将带领大家使用pnpm搭建一个简单的Monorepo项目,并完成包的关联与测试

什么是 Monorepo

其实很简单,就是一个代码库里包含很多的项目,而这些项目虽然是相关联的,但是在逻辑上是独立的,可以由不同人或者团队来维护

为什么要用 pnpm

pnpm 对于包的管理是很方便的,尤其是对于一个 Monorepo 的项目。因为对于我们即将开发的组件库来说可能会存在多个 package(包),而这些包在我们本地是需要相互关联测试的,刚好 pnpm 就对其天然的支持。其实像其它包管理工具,比如 yarn、lerna 等也能做到,但是相对来说比较繁琐。而 pnpm 现在已经很成熟了,像 Vant,ElementUI 这些明星组件库都在使用 pnpm,因此本项目也采用 pnpm 作为包管理工具。

pnpm 的使用

安装

npm install pnpm -g

初始化项目

在项目根目录执行 pnpm init,会自动生成package.json文件

{
  "name": "easyest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

包管理

我们新建一个 packages 文件夹用于后续来存放我们的各种包。假如我们有了 a 包和 b 包,在 packages 下新建 a 和 b(这里用于测试 pnpm 的本地引用),然后分别在 a 和 b 目录下执行pnpm init初始化

这里需要改一下包名,我这里将 name 改成@easyest/a 表示这个 a 包是属于 easyest 这个组织下的。所以记住发布之前要登录 npm 新建一个组织;例如 easyest。比如此时 a 的 package.json

{
  "name": "@easyest/a",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

这里我们的 a 包代表工具包,而 package.json 的 main 属性就是包的入口即 index.js。

所以在 a 目录下新建 index.js

export default () => {
  console.log("我是@easyest/a包");
};

然后在 b 包下新建 index.js 进行引用

import sayHello from "@easyest/a";
sayHello();

image.png

我们用到了 a 包,所以需要先安装 a,在 B 目录下执行pnpm add @easyest/a,显然这样会报错的,因为我们还没有将两个包进行关联,那么如何进行关联呢,其实很简单

在根目录新建 pnpm 的工作区文件 pnpm-workspace.yaml 就可以将包进行关联

packages:
    - 'packages/**'

这样就表示 packages 目录下的所有包都被关联了,然后再执行pnpm add @easyest/a

image.png

注意这里我们使用了 import es6 语法,所以我们要在 A 和 B 的package.json中新增字段"type": "module"

我们会发现直接在 b 目录的 node_modules 出现了 a 的软链接。同时,b的package.json的依赖字段多了"@easyest/a": "workspace:^1.0.0",这就表示已经关联到本地的@easyest/a包了

image.png

这时候我们在 b 目录下执行

node index.js

image.png

此时我们便完成了本地包的关联,以后进行包的测试就变得更加方便了

本篇文章代码地址 记得star一下😄

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使用 Vite 从零开始搭建 Vue 3 开发环境,你需要按照以下步骤进行操作: 1. 首先,安装 Node.js 和 npm。你可以从 Node.js 官网下载最新版本的 Node.js。 2. 在你的项目文件夹中,使用以下命令初始化一个新的 npm 项目: ``` npm init -y ``` 3. 安装 Vite 和 Vue 3: ``` npm install vite vue@next --save-dev ``` 4. 在项目文件夹中创建一个名为 `index.html` 的文件,并将以下代码添加到文件中: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Vue 3 Vite Demo</title> </head> <body> <div id="app"></div> <script type="module" src="/src/main.js"></script> </body> </html> ``` 5. 在项目文件夹中创建一个名为 `src` 的文件夹,并在其中创建一个名为 `main.js` 的文件。将以下代码添加到文件中: ```js import { createApp } from 'vue'; import App from './App.vue'; const app = createApp(App); app.mount('#app'); ``` 6. 在 `src` 文件夹中创建一个名为 `App.vue` 的文件,并将以下代码添加到文件中: ```html <template> <div> <h1>Hello, {{ name }}!</h1> <p>This is a Vue 3 Vite demo.</p> </div> </template> <script> export default { name: 'App', data() { return { name: 'World', }; }, }; </script> ``` 7. 在终端中使用以下命令启动 Vite: ``` npx vite ``` 8. 在浏览器中打开 http://localhost:3000,你应该能够看到一个显示 "Hello, World!" 的页面。 现在你的 Vue 3 Vite 开发环境已经准备好了!你可以在 `App.vue` 中添加更多的 Vue 3 代码,并在浏览器中实时查看结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值