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

  • 相关阅读:
    输入框input只能输入数字和小数点
    ES6判断数组是否存在重复元素
    AutoPostBack的含义
    首次的boe with wss
    我的msn能在w2k3上使用了哈哈
    挑战excel
    wss的webpart的3种开发方式
    我来操作dts olap
    My dbconn of ASP
    sharepoint学习理解过程
  • 原文地址:https://www.cnblogs.com/zys8119/p/6839307.html
Copyright © 2011-2022 走看看