老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

利用node.js制作命令行工具方法教程(一)

前言

創新互聯是一家專業從事成都做網站、成都網站設計的網絡公司。作為專業網絡公司,創新互聯依托的技術實力、以及多年的網站運營經驗,為您提供專業的成都網站建設、營銷型網站建設及網站設計開發服務!

之前使用過一些全局安裝的NPM包,安裝完之后,可以通過其提供的命令,完成一些任務。比如Fis3,可以通過fis3 server start 開啟fis的靜態文件服務,通過fis3 release開啟文件編譯與發布;還有vue-cli,可以通過vue init webpack my-project來初始化vue+webpack的項目基礎配置。最近有一個需求,需要寫一個類似vue-cli的NPM包,通過命令行操作實現項目初始配置,所以就查看了相關資料,學習了一下如何使用node來生成自己的命令。

編寫命令行

命令的目標:在當前目錄下開啟一個靜態文件服務,端口號為8085

1.創建目錄

構成命令的基礎是需要一個命令文件web.js和package.json配置文件,執行以下命令:

$ mkdir node-commander #創建一個文件夾

$ cd node-commander && mkdir bin

$ npm init #初始化package.json文件
$ cd bin && touch web.js #創建命令文件

2.命令文件 

#!/usr/bin/env node

 

var express = require('express');

var path = process.cwd();

 

function run(argv) {

 if (argv[0] === '-v' || argv[0] === '--version') {

 console.log('version is 1.0.0');

 }

 else if (argv[0] === '-h' || argv[0] === '--help') {

 console.log('usage:\n');

 console.log('-v --version [show version]')

 }

 else if (argv[0] === '-s' || argv[0] === '--start') {

 var app = new express();

 app.use('/static', express.static(path));

 app.listen(8085, function () {

 console.log('server start at port 8085');

 });

 }

}

 

run(process.argv.slice(2)); 

文件的頭部務必加入#!/usr/bin/env node這行代碼,這里表示使用node作為腳本的解釋程序,node的路徑通過env來查找,可以避免node安裝路徑不一帶來的問題。

其中process為node進程中的全局變量,process.argv為一數組,數組內存儲著命令行的各個部分,argv[0]為node的安裝路徑,argv[1]為主模塊文件路勁,剩下為子命令或參數,如下:

node ./bin/web.js a b c

# process.argv的值為[ '/usr/local/bin/node', '/PATH/web.js', 'a', 'b', 'c' ]

3.命令配置

在package.json文件中添加bin字段:

"bin": {

 "web": "./bin/web.js"

 },  

bin字段的作用:當安裝npm包時,npm將添加一條命令/usr/local/bin/web,web命令軟連接到web.js文件。

調試命令行

(1)采用install方法

進入npm包目錄下,執行全局install,根據package.json中bin的配置,為全局命令創建軟連。

# sudo npm install . -g
/usr/local/bin/web -> /usr/local/lib/node_modules/cli-demo/bin/web.js

/usr/local/lib

`-- cli-demo@1.0.0
...

查看web命令

# which web 

/usr/local/bin/web  

執行web命令

# web --start

server start at port 8085

(2)采用npm link方法

npm link方法創建了兩個軟連,命令與命令文件的軟連,全局包與實際包文件的軟連。

# sudo npm link

 

/usr/local/bin/web -> /usr/local/lib/node_modules/cli-demo/bin/web.js

/usr/local/lib/node_modules/cli-demo -> /Users/baidu/hwm/home/demos/node/node-commander  

接下來可以按照方法(1)進行操作了。

發布命令包

通過npm publish進行發布,前提是有npm帳號。如何操作可以查看npm 官方文檔。

本文是通過原生node.js來開發命令工具,而vue-cli是采用commander.js來簡化命令工具開發,關于commander.js的使用方法,將在下一篇文章中介紹。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對創新互聯的支持。


本文標題:利用node.js制作命令行工具方法教程(一)
網站URL:http://www.xueling.net.cn/article/iiihce.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 日韩成人二区 | 欧美兽交xxxx×视频 | 国产欧美一区二区 | 欧美成人精品三区综合a片 激情欧美一区二区三区精品 | h文纯肉教室啪啪 | 国产又粗又猛又爽的视频A片 | 国产精品综合久久久久 | 俺去俺来也在线WWW色官网 | 91情趣视频 | 国产欧制服丝袜中文 | 日本大尺码专区mv | 日本一二三在线观看 | 国产在线看片 | 精品专区一区二区 | 偷自拍亚洲视频在线观看99 | 欧美一级黄色片免费观看 | 日本最新中文字幕 | 邻居丰满的奶水在线hd | 成人精品国产 | 成人小视频在线免费观看 | 51cao在线观看 | 女教师办公室被强在线播放 | 好吊色欧美一区二区三区视频 | 国内免费av | 天天做天天爱天天综合网 | 大胆裸体gogo毛片免费看 | 久久和欧洲码一码二码三码 | 哪里有免费的黄色网址 | 国产在线一区二区三区激情欧美 | 国内精品自在自线视频 | 小sao货水好多真紧h无码视频 | 日本免费网站看大片视频 | 九月婷婷人人澡人人添人人爽 | 国产播放隔着超薄丝袜进入 | 国产国产午夜福利视 | 丰满少妇人妻久久久久久 | 精品日产一区二区三区视频怎么看 | 男人操女人免费网站 | 久久精品国产免费看久久精品 | 欧州一区| 99热这里只有精品国产免费免费 |