Shyno
Don't be shy,no problem!

模块准备好之后,我们就需要开始编写脚本.

在根目录新建一个bin文件夹,然后在bin文件夹中新建一个脚本文件,比如index.js,那么此时的文件目录为

 

node脚本编写

接下来就是关于index.js里面的node脚本编写了.具体的后续再讨论,目前我们就在里面写入最简单的代码

#!/usr/bin/env node  //环境指定为node
'use strict' //严格模式

console.log('shyno 大帅逼')

 

node脚本运行

我个人是使用git去运行脚本的,因为平时用git管理代码,所以使用起来更顺手.node脚本运行时是需要指定路径的,在不同的文件目录时执行的命令是不一样的.

在bin中执行

右键->选择"git bash here"->输入 node index.js

在根目录cli中执行

右键->选择"git bash here"->输入 node bin/index.js

 

全局命令

在不同目录有不同执行命令,不方便.所以我们需要去统一一下命令.

第一步:在package.json中设置bin,即bin/index.js这个脚本将会由命令"sugar"来运行

 "bin": {
    "sugar": "bin/index.js"
  }

 第二步,在根目录运行npm link

    注意:此时npm link是会报错的

npm WARN sugar-cli@1.0.0 No repository field.

 原因是没有配置repository属性,需要在package.json中配置.配置方案有两种

 1. 如果该项目已经有git仓库了:

{
  "repository": {
    "type": "git",
    "url": "http://github.com/yourname/repositoryname.git"
  }
}

 2.如果没有,只是开发或者测试,就不配repository,而是

{
  "private": true
}

 完成之后再npm link,会看到提示链接成功,可在任何文件夹中使用

 

此时,package.json的内容为

{
  "name": "sugar-cli",
  "version": "1.0.0",
  "description": "shyno的脚手架",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "sugar"
  ],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "chalk": "^3.0.0",
    "child_process": "^1.0.2",
    "commander": "^4.1.1",
    "inquirer": "^7.0.4"
  },
  "private": true,
  "repository": {},
  "bin": {
    "sugar": "bin/index.js"
  }
}

 

上一篇:从零开始写一个前端脚手架一、准备阶段

下一篇:从零开始写一个前端脚手架三、脚手架初始化

posted on 2021-09-02 18:08  Shyno  阅读(325)  评论(0编辑  收藏  举报