全新升级后的FE工作流为:使用FE命令包进行项目的初始化,其中包括项目初始化、拉取脚手架、私库拉取模块包或后期扩展的CI/CD等与本公司工作流相关的操作。

出现的问题如下:

脚手架工具的包依赖信息存放在根目录的package.json中,若业务项目仍存放在package.json中,那么后期再更新脚手架工具时,就会将业务包的依赖信息覆盖。因此就需要将业务的依赖信息单独存放。

由此配合私库进行切源,就能满足之前的工程化架构的需求。

应新的需求特地撸了个工具,后续也会持续优化与更新。

NPM: package-copy(包副本) 传送门

对此工具做以下几点说明:

1. 此工具可以在初始化时自定义文件路径与文件名称,并以指定文件存放依赖包信息。

2. 可以使用指定的pkg-copy进行init、install、uninstall等操作,安装依赖同npm相同,均为node_modules.

3. 新安装的依赖也会添加到指定的package.json文件中

Install

npm install --save-dev package-copy

Usage

use with Command Line

./node_modules/.bin/pkg-copy config json=./package-test.json

./node_modules/.bin/pkg-copy init

./node_modules/.bin/pkg-copy init json=./package-test.json

./node_modules/.bin/pkg-copy install

./node_modules/.bin/pkg-copy install -D vue-loader

./node_modules/.bin/pkg-copy uninstall --save vue@2.5.0 react

use with js

const PkgCopy = require('package-copy');

// 如果不初始化配置项,则默认在执行目录下生成package-copy.json

let pkg = new PkgCopy({
json: './package-test.json'
}) pkg.exec('pkg-copy init')
pkg.exec('pkg-copy install vue -S').then((msg) => {}) // use promise
await pkg.exec('pkg-copy install vue -S') // use async/await

Docker+Cmd+Cli+Git之前端工程化纪要(二)自定义类package.json文件管理模块包的更多相关文章

  1. Docker+Cmd+Cli+Git之前端工程化纪要(一)整体目标

    之前一版的工程化核心产物就是一个IDE,即利用python+node将webpack等技术将FE的开发.编译.部署上线等环境集成在sublime中,产出了一个核心工具.但随着长期的使用与技术栈的优化升 ...

  2. 前端工程化(二)---webpack配置

    导航 前端工程化(一)---工程基础目录搭建 前端工程化(二)---webpack配置 前端工程化(三)---Vue的开发模式 前端工程化(四)---helloWord 继续上一遍的配置,本节主要记录 ...

  3. 前端工程化(三)---Vue的开发模式

    从0开始,构建前后端分离应用 导航 前端工程化(一)---工程基础目录搭建 前端工程化(二)---webpack配置 前端工程化(三)---Vue的开发模式 前端工程化(四)---helloWord ...

  4. 腾讯IVWEB前端工程化工具feflow思考与实践

    本篇文章主要介绍腾讯IVWEB团队从0到1在工程化的思考和实践.feflow的全称是Front-end flow(前端工作流),致力于提升研发效率和规范的工程化解决方案.愿景是通过feflow,可以使 ...

  5. 前端工程化 - 剖析npm的包管理机制

    转自https://juejin.im/post/5df789066fb9a0161f30580c 现如今,前端开发的同学已经离不开 npm 这个包管理工具,其优秀的包版本管理机制承载了整个繁荣发展的 ...

  6. 公司内部技术分享之Vue.js和前端工程化

    今天主要的核心话题是Vue.js和前端工程化.我将结合我这两年多的工作学习经历来谈谈这个,主要侧重点是前端工程化,Vue.js侧重点相对前端工程化,比重不是特别大. Vue.js Vue.js和Rea ...

  7. 10分钟学会前端工程化(webpack4.0)

    一.概要 1.1.前端工程化 随着前端的不断发展与壮大,前端变得越来越复杂,组件化.模块化.工程化.自动化成了前端发展中不可或缺的一部分,具体到前端工程化,面临的问题是如何提高编码->测试-&g ...

  8. 前端工程化开发之yeoman、bower、grunt

    上两遍文章介绍了前端模块化开发(以seaJs为例)和前端自动化开发(以grunt为例)的流程,参见: http://www.cnblogs.com/luozhihao/p/4818782.html ( ...

  9. gulp前端工程化教程

    gulp npm install -g gulp-concat 文件打包 npm install -g gulp-rename 文件重命名 npm install -g gulp-imagemin 图 ...

随机推荐

  1. rbac权限(2)

    models.py from django.db import models class User(models.Model): name=models.CharField(max_length=32 ...

  2. [Unity] Unity 2019.1.14f 在Terrain中使用Paint Texture的方法

    1.点击Terrain中的Paint Texture按钮2.将按钮下面的下拉菜单选择paint texture3.点击Edit Terrain Layers按钮T4.点击弹出菜单的Create Lay ...

  3. shell脚本中的if条件语句介绍和使用案例

    #前言:在生产工作中if条件语句是最常使用的,如使用来判断服务状态,监控服务器的CPU,内存,磁盘等操作,所以我们需要熟悉和掌握if条件语句. #简介 if条件语句,简单来说就是:如果,那么.有if单 ...

  4. Qt 的信号与槽(纯干货)

    接触Qt断断续续有些时间了,总看了一堆的文章说信号槽的概念,心里就想骂人,做为一个初学者,最重要的就是怎么写代码,写代码写多了,再去看理论,有时水到渠成的就明白那些理论了.但所有讲信号槽的都把一堆信号 ...

  5. 模型压缩一半,精度几乎无损,TensorFlow推出半精度浮点量化工具包,还有在线Demo...

    近日,TensorFlow模型优化工具包又添一员大将,训练后的半精度浮点量化(float16 quantization)工具. 有了它,就能在几乎不损失模型精度的情况下,将模型压缩至一半大小,还能改善 ...

  6. React源码解析——创建更新过程

    一.ReactDOM.render 创建ReactRoot,并且根据情况调用root.legacy_renderSubtreeIntoContainer或者root.render,前者是遗留的 API ...

  7. Python python 五种数据类型--元组

    # 定义一个元组 var1 = ('Hello','Python') var2 = tuple() print(type(var1)) #<class 'tuple'> print(typ ...

  8. SpringBoot系列(二)入门知识

    SpringBoot系列(二)入门知识 往期推荐 SpringBoot系列(一)idea新建springboot项目 引言 本来新建springboot项目应该放在入门知识这一章的,但是由于新建spr ...

  9. Git之旅

    ithub安装,我选择的是windows下的版本. git配置用户信息 安装完成后,还需要最后一步设置,在命令行输入: $git config --global user.name "You ...

  10. 【python系统学习12】函数

    函数 函数是一堆组织好的.可重复利用的.用来实现某一功能的代码. python中的input().print().type().bool().len()等都是函数.且是python的内置函数. 我们也 ...