vue3.0学习笔记(一)
部分目录文件解读:
.circleci文件夹(config.yml文件)// Circleci的配置文件
Circleci是一个持续集成/部署的服务,可以绑定Github,只有代码有变更,就会自动抓取,并根据你的配置,提供运行环境,执行测试、构建和部署。
.vscode/settings.json
是vscode编辑器的自定义配置文件
"typescript.tsdk": "node_modules/typescript/lib", // 是为了避免tsc编译时产生的问题与vs cdoe提示问题不一致的现象
lerna.json // 是lerna的配置文件
lerna是js项目包管理工具,有两种工作模式:Independent mode 及Fixed/Locked mode。前者会配合git,只发布有改动的包,后者是全量发布。
{
"npmClient": "yarn", // 指定用yarn来执行所有命令,默认是npm
"useWorkspaces": true,
"version": "3.0.0-alpha.1" //当前代码仓库的版本
}
jest.config.js // 测试框架jest配置文件
rollup.config.js // rollup打包工具的配置文件
rollup适用于类库的打包,利用其tree-shaking特性,其性能优于webpack。具体对比可参见:https://juejin.im/post/5d3e62f6f265da1b5e733ca5
疑问一: 既然rollup只支持ES模块打包,为何vue-next源码里依然可以require/exports CommonJS的语法?
CommonJs是Node.js的规范,Node.js无法直接兼容ES6,所以现阶段require/exports仍然是必要且必须的。