zoukankan      html  css  js  c++  java
  • 自定义脚手架

    前提:

      目录结构

        my-project

          └ bin

              └myapp.js

          └ package.json

    //myapp.js的内容如下

    #!/usr/bin/env node
    const fs = require('fs');
    const dirPath = process.cwd();
    const argvss = process.argv.slice(2);
    
    function createPublicFun(dirName) {
        this.dirName = dirName || "myApp";//默认创建myApp项目;
        this.cmd = 'cd '+this.dirName+' && npm i jquery';//初始化npm依赖;
        this.public = function() {
            var shell = require('shelljs');
            shell.exec(cmd);
            console.log("初始化完成!")
        }
        if(!fs.existsSync(dirPath+"\"+ this.dirName)){
            fs.mkdir(dirPath+"\"+ this.dirName);
            fs.mkdir(dirPath+"\"+ this.dirName+"\node_modules");
        };
        this.public();
    }
    switch (argvss[0]){
        case 'new':
            if(argvss[1]){
                createPublicFun(argvss[1]);
            }else{
                console.log("项目名称不能为空!")
            }
            break;
        case "init":
            if(argvss[1]){
                createPublicFun(argvss[1]);
            }else{
                createPublicFun();
            }
            break;
        default:
            console.log("命令错误!");
            break;
    }
    process.exit();//退出
    View Code

    //package.json的内容如下

    例如简单的package.json:

    {
      "name": "my-project-name",
      "version": "0.1.0",
      "bin":"bin/myapp.js"  
    }

    注意:package.json里面的【bin】必须指向某个js,个人建议默认执行bin/**.js

    最后只要安装在全局就可以了。具体教程在 https://www.npmjs.com/package/init-cli_zys

  • 相关阅读:
    人脸旋转 《转》
    深度学习如何入门?<知乎>
    openGL-------------别人的博客
    如何实现视频的快进快退功能(转)
    MFC+OpenGL基础绘制<转>
    野蒜
    人脸识别68个点<转>
    cv::circle《转》
    HTML5 Canvas之猜数字游戏
    LIRe 源代码分析 3:基本接口(ImageSearcher)
  • 原文地址:https://www.cnblogs.com/zys8119/p/6839307.html
Copyright © 2011-2022 走看看