[英]Own Node.js project installed globally on own system
我是Node.js的新手所以请不要讨厌..
我发现NPM非常有用,因为我可以在全局安装Node.js包,然后像独立的可用路径应用程序一样使用它们。
这确实适用于Windows,这真的让我感到惊讶。
例如,我通过npm install -g uglifyjs
这种方式安装了UglifyJS,现在我可以从我的系统中的任何地方运行它,从控制台通过uglifyjs <rest of command>
(不是node uglifyjs ..
或者其他)。
我想创建自己的独立 Node.js应用程序。 我如何得到排名? 我在这里问,因为大多数教程只介绍如何编写一个简单的脚本然后运行它va node
(我已经介绍过)
package.json :
{
"name": "hash",
"version": "1.0.0",
"author": "Kiel V.",
"engines": [
"node >= 0.8.0"
],
"main": "hash.js",
"dependencies": {
"commander" : "1.2.0"
},
"scripts": {
"start": "node hash.js"
}
}
hash.js :
var crypto = require('crypto'),
commander = require('commander');
/* For use as a library */
function hash(algorithm, str) {
return crypto.createHash(algorithm).update(str).digest('hex');
}
exports.hash = hash;
/* For use as a stand-alone app */
commander
.version('1.0.0')
.usage('[options] <plain ...>')
.option('-a, --algorithm [algorithm]', 'Hash algorithm', 'md5')
.parse(process.argv);
commander.args.forEach(function(plain){
console.log( plain + ' -> ' + hash(commander.algorithm, plain) );
});
假设我在node-hash
目录中只有这两个文件。 我如何安装这个项目,以便稍后我可以通过hash -a md5 plaintext
在cmd.exe
运行它,就像coffescript,jslint等安装?
您必须在package.json和hash.js中添加一些代码,然后您可以运行此命令从本地文件夹安装包。
npm install -g ./node-hash
的package.json
{
"name": "hash",
"version": "1.0.0",
"author": "Kiel V.",
"engines": [
"node >= 0.8.0"
],
"bin": {
"hash": "hash.js"
},
"main": "hash.js",
"dependencies": {
"commander" : "1.2.0"
},
"scripts": {
"start": "node hash.js"
}
}
hash.js
#!/usr/bin/env node
var crypto = require('crypto'),
commander = require('commander');
/* For use as a library */
function hash(algorithm, str) {
return crypto.createHash(algorithm).update(str).digest('hex');
}
exports.hash = hash;
/* For use as a stand-alone app */
commander
.version('1.0.0')
.usage('[options] <plain ...>')
.option('-a, --algorithm [algorithm]', 'Hash algorithm', 'md5')
.parse(process.argv);
commander.args.forEach(function(plain){
console.log( plain + ' -> ' + hash(commander.algorithm, plain) );
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.