您的位置:首页 > 其它

新建一个包,并生成可以直接在命令行执行的指令

2014-03-26 14:26 288 查看
1 在本地新建一个目录four, 在此目录执行指令: npm init

2 在/four/lib/目录里放js代码 : inlib.js

module.exports = function(message){

return message;

}

3 在/four/bin/里放指令文件: inbin.js

#! /usr/bin/env node

var libsth = require("../lib/inlib.js");

console.log(libsth("gsky"));

4 编辑/four/package.json,其中:

{

“name” : “four”,

“main” : “./bin/inbin.js”,

}

5 此时,在/four/bin/目录执行node inbin.js,会显示正确结果: gsky

并且,在命令行验证 node -e 'require("/home/vagrant/four")' , 会显示正确结果: gsky

6 为inbin.js赋权: chmod a+x inbin.js

7 此时,在/four目录,命令行执行./bin/inbin.js,会显示正确结果:gsky

但是此时如果进入/four/bin目录,命令行执行inbin.js,会提示找不到这个指令.必须通过路径来执行.

同时,此时如果命令行直接执行four,会提示找不到这个指令.

8 编辑/four/package.json,

{

“name” : “four”,

“main” : “./bin/inbin.js”,

“bin” : {“four” : “./bin/inbin.js”}

}

9 使用npm link将这个本地包链接到全局: 在/four目录下执行 sudo npm link;

10 此时在命令行直接执行four, 会显示正确结果: gsky
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐