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


    全新升级后的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
  • 相关阅读:
    Template(模板)模式
    Android活动(Activity)创建及生命周期
    Android--SharedPreferences数据存储方案
    Adapter适配器模式--图解设计模式
    准时制生产(Just in Time,JIT)
    术语
    制造资源计划(Manufacturing Resource Planning,Mrp II)
    Angualr6表单提交验证并跳转
    Android PDA扫描枪广播接搜条码并使用
    Java统计代码行数
  • 原文地址:https://www.cnblogs.com/pomelott/p/12733913.html
Copyright © 2020-2023  润新知