博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义脚手架
阅读量:5293 次
发布时间:2019-06-14

本文共 1298 字,大约阅读时间需要 4 分钟。

前提:

  目录结构

    my-project

      └ bin

          └myapp.js

      └ package.json

//myapp.js的内容如下

#!/usr/bin/env nodeconst 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.cnblogs.com/zys8119/p/6839307.html

你可能感兴趣的文章
AOJ/搜索与递归及分治法习题集
查看>>
express
查看>>
iOS视图弹出、平移、旋转、翻转、剪切等变换效果实现
查看>>
iOS获取用户设备崩溃日志并分析
查看>>
String类
查看>>
1、IO概述及File类
查看>>
[bzoj3531][Sdoi2014]旅行
查看>>
3.将模型添加到 ASP.NET Core MVC 应用
查看>>
Google TensorFlow for GPU安装、配置大坑
查看>>
【转】Android开发之如何保证Service不被杀掉(broadcast+system/app)
查看>>
什么是RUP,什么是敏捷开发,什么是XP(极限编程)
查看>>
DB9针和DB25针串口的引脚定义
查看>>
分段和分页内存管理
查看>>
人工智能教程
查看>>
Redis客户端连接异常
查看>>
小白学数据分析----->移动游戏的使用时长分析
查看>>
静态页面表单提交
查看>>
走进 Spring IOC 的世界
查看>>
【HTML/XML 7】CSS层叠样式表
查看>>
Segmentation fault(Core Dump)
查看>>