命令行工具

2020/03/22 功能实现 共 892 字,约 3 分钟

node 手写一个简单的命令行工具

简单的创建命令行工具 => 创建一个静态服务器 => 命令行工具启动项目

node 写一个简单的命令行

npm run serve ,npm install 都是命令行,问题来了,我们自己如何实现一个命令行呢?借用 node 来实现其实很简单。写一个简单的,首先我们需要了解一下 Linux chmod 他是系统调用文件的权限,先建一个文件不要指定他的后缀名,比如 sunseekers,在文件里面输入下面的内容(后面所有的 sunseekers 指的是这个文件的名字)

#! /usr/bin/env node

let yargs = require('yargs')// 这个是命令行解析工具

let argv = yargs.option('n', {
  alias: "name",
  demand: true, // 必填
  default: 'sunseekers',
  description: "请输入你的名字"
}).argv
console.log('hello sunseekers');
console.log('yargs 命令行工具接受到的参数',yargs.argv);

文件建好了之后,给这个文件一个权限执行命令 chmod 755 sunseekers

继续在当前目录创建一个 package.json 文件,目的是为了 sunseekers 的路径添加到环境变量去,以便后续可以直接使用变量 在 package.json 添加以下内容

{
    name:'hello',
    "bin":{
        "sunseekers":"sunseekers" //  { "命令行": "文件路径"}
    }
}

然后执行命令 npm link

这样我们的命令就构建好了,我们在终端输入 sunseekers ,就执行了 node sunseekers

Node 进阶 —- yargs

node 创建静态服务器

这个代码太多了,就直接贴链接吧

第一版代码地址

在此利用可读流我们创建了一个简单静态服务器,我们在进一步优化代码,根据浏览器支持的压缩方式进行压缩,利用缓存缓存数据

静态服务器的搭建

一个指定目录的静态服务器我们写好了,接下来我们要构建一个命令行工具,通过命令传参的方式,可以指定任何一个文件的任何一个目录


在技术的历史长河中,虽然我们素未谋面,却已相识已久,很微妙也很知足。互联网让世界变得更小,你我之间更近。

在逝去的青葱岁月中,虽然我们未曾相遇,却共同经历着一样的情愫。谁的青春不曾迷茫或焦虑亦是无奈,谁不曾年少过

在未来的日子里,让我们共享好的文章,共同学习进步。有不错的文章记得分享给我,我不会写好的文章,所以我只能做一个搬运工

我叫 sunseekers(张敏) ,千千万万个张敏与你同在,18年电子商务专业毕业,毕业后在前端搬砖

如果喜欢我的话,恰巧我也喜欢你的话,让我们手拉手,肩并肩共同前行,相互学习,互相鼓励

文档信息

Search

    Table of Contents