构建核心模块工作区
想要将多个模块融合一体就需要workspace配置。使用workspace功能可以简化项目的管理,特别是对于大型项目或者由多个相关包组成的项目来说。你可以在根目录下的package.json文件中指定工作区,列出所有相关的包,然后在每个包的package.json文件中指定它们之间的依赖关系。
配置pnpm-workspace.yaml
配置工作区yaml文件:
packages:
- 'packages/*'
配置核心模块文件
在vue文件夹下的package.json中添加工作区依赖:
{
"name": "vue-mini",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"@vue-mini/compiler-core": "workspace:^1.0.0",
"@vue-mini/runtime-dom": "workspace:^1.0.0",
"@vue-mini/shared": "workspace:^1.0.0"
}
}
添加核心模块文件夹
创建核心模块目录,结构如图所示:
修改json文件内容:
{
"name": "@vue-mini/compiler-core",
"version": "1.0.0",
"description": "@vue-mini/compiler-core",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
{
"name": "@vue-mini/runtime-dom",
"version": "1.0.0",
"description": "@vue-mini/runtime-dom",
"module": "dist/shared.esm-bundler.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
{
"name": "@vue-mini/shared",
"version": "1.0.0",
"description": "@vue-mini/shared",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
核心模块下载
进入vue文件夹下,运行pnpm i:
出现当前图片中的内容即为创建成功。