zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Django Restframework 实践(二)
    mysql in 过滤 解决转义问题
    automapper
    autoface
    各种文件上传 转载
    REST Client
    MySql PartionBy
    mysql 变量名称不能与表字段一致
    mysql 存储过程分页 转载
    dapper.net 转载
  • 原文地址:https://www.cnblogs.com/pomelott/p/12733913.html
Copyright © 2011-2022 走看看