继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【金秋打卡】第14天 Web前端架构师2022第一阶段学习第八天(2022-11-06)

慕标3395159
关注TA
已关注
手记 43
粉丝 9
获赞 1

课程章节:
第二周 第二章 2-10 脚手架命令注册和参数解析
第二周 第二章 2-11 脚手架项目发布
第二周 第三章 3-1 本章的收获是什么,难点是什么?
第二周 第三章 3-2 原生脚手架开发痛点分析
第二周 第三章 3-3 本章重点:lerna简介及脚手架开发流程

课程讲师: Sam、张轩

课程内容:

2-10 脚手架命令注册和参数解析

  1. 注册一个命令,init
  2. 解析参数,–version
    monster-test/bin/index.js
#!/usr/bin/env node
const lib = require('monster-test-lib')

const argv = require('process').argv

const command = argv[2];

const options = argv.slice(3);
if (options.length > 1) {
  let [option, param] = options;
  option = option.replace('--', '')
  console.log(options, option, param)
  
  if (command) {
    if (lib[command]) {
      lib[command]({ option, param })
    } else {
      console.log('请输入正确的命令')
    }
  } else {
    console.log('请输入命令')
  }
}

if (command.startsWith('--') || command.startsWith('-')) {
  const globalOption = command.replace(/--|-/g, '');
  if (globalOption === 'version' || globalOption === 'V') {
    console.log('1.0.0');
  }
}

monster-test-lib/lib/index.js

module.exports = {
	init ({ option, param }) {
		console.log('执行init流程', option, param)
	}
}

2-11 脚手架项目发布

发布步骤

  1. 先将两个项目分别npm unlink,删除本地项目的全局注册
  2. 修改项目版本号npm publish发布
  3. 在没有本地项目的目录下安装npm install -g monster-test
  4. 测试安装的monster-test命令

3-1 本章的收获是什么,难点是什么?

  1. 如何去管理一个复杂的JavaScript项目
  2. Lerna简介
  3. Lerna源码分析
  4. Lerna源码精读
  5. 基于Lerna设计简历

3-2 原生脚手架开发痛点分析

痛点一:重复操作

  • 多Package本地link
  • 多Package依赖安装
  • 多Package单元测试
  • 多Package代码提交
  • 多Package代码发布

痛点二:版本一致性

  • 发布时版本一致性
  • 发布后相互依赖版本升级

Package越多,管理复杂度越高

3-3 本章重点:lerna简介及脚手架开发流程

Lerna简介

Lerna是一个优化基于git+npm的多package项目管理工具。

优势

  • 大幅减少重复操作
  • 提升操作的标准化

Lerna是架构优化的产物,它揭示了一个架构的真理:项目复杂度提升后,就需要对项目进行架构优化。架构优化的主要目标往往都是以效能为核心。

官网

案例

使用Lerna管理的大型项目

Lerna 开发脚手架流程(重点)

图片描述
图片描述

课程收获:
今天开始体系课学习,课程买了好久了,从今天开始我要一步步把它学完!感谢慕课网开设了这个课程,让我有了更好的提升!前端架构师之路从此开启,好好学习,天天向上!

课程截图:
图片描述

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP