您好,欢迎来到知库网。
搜索
您的当前位置:首页node-npm发布包-package.json中bin的用法

node-npm发布包-package.json中bin的用法

来源:知库网
node-npm发布包-package.json中bin的⽤法

前⾔

⽤过angular-cli,create-react-app这些脚⼿架的朋友们,不知道你们有没有好奇过,

为什么安装这些脚⼿架后,可以使⽤类似ng generate之类的命令。⼩弟研究了以下,原来是这样的。

package.json

贴⼀个简单的package.json

{

\"name\": \"arashiquan33-node-learn\ \"version\": \"1.1.0\

\"description\": \"learn node.js\

\"main\": \"module.js\包的⼊⼝⽂件 \"scripts\": {

\"test\": \"echo \\\"Error: no test specified\\\" && exit 1\" },

\"keywords\": [ \"node\ \"express\" ],

\"author\": \"arashiquan33\ \"license\": \"ISC\"}

接下来我们也给这个包制作⼀个命令,叫q-cli。

新建bin⽂件夹,创建q-cli.js

#!/usr/bin/env nodefunction run (argv) {

if (argv[0] === '-v' || argv[0] === '--version') { console.log(' version is 0.0.1');

} else if (argv[0] === '-h' || argv[0] === '--help') { console.log(' usage:\\n');

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

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

#!/usr/bin/env node 这段话的意思是让使⽤ node 进⾏脚本的解释程序,那下⾯的就可以使⽤ node 的语法了process.argv.slice(2),//从进程中获取参数。

好了,上⾯这段脚本当被加载执⾏的时候,会⾸先执⾏run⽅法,并且传⼊进程输⼊的参数。

添加bin

好了,现在我们把bin需要的可执⾏js⽂件已经创建好,接下来需要在package.json中描述进去.

{

\"name\": \"arashiquan33-node-learn\ \"version\": \"1.1.0\

\"description\": \"learn node.js\ \"main\": \"module.js\ \"scripts\": {

\"test\": \"echo \\\"Error: no test specified\\\" && exit 1\" },

\"bin\": {

\"q-cli\": \"./bin/q-cli.js\" //告诉package.json,我的bin叫q-cli,它可执⾏的⽂件路径是bin/q-cli.js },

\"keywords\": [ \"node\ \"express\" ],

\"author\": \"arashiquan33\ \"license\": \"ISC\"

}

好了,现在换差最后⼀步我们就可以再命令⾏使⽤q-cli.

打成全局包

必须要打成全局包才可以使⽤该命令,打成全局包的命令npm install . -g或者npm link

好了,现在可以再命令⾏输⼊q-cli,

不知道⼤家明⽩bin的制作⽅法了没,觉得好了,点⼀波关注,双击666⾛起。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- zicool.com 版权所有 湘ICP备2023022495号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务