Javascript 在自己的系统上全局安装的Own Node.js项目 背景
我是Node.js的新手,所以请不要讨厌 我发现NPM非常有用,因为我可以在全局范围内安装Node.js包,然后像独立应用程序一样使用它们 这在Windows上确实有效,这让我很惊讶 例如,我通过Javascript 在自己的系统上全局安装的Own Node.js项目 背景,javascript,windows,node.js,npm,Javascript,Windows,Node.js,Npm,我是Node.js的新手,所以请不要讨厌 我发现NPM非常有用,因为我可以在全局范围内安装Node.js包,然后像独立应用程序一样使用它们 这在Windows上确实有效,这让我很惊讶 例如,我通过npm install-g UglifyJS以这种方式安装了UglifyJS,现在我可以通过UglifyJS(而不是节点UglifyJS..或其他方式)从我系统的任何地方运行它 我想创建自己的独立Node.js应用程序。我该如何开始?我在这里问这个问题是因为大多数教程只介绍如何编写一个简单的脚本,然后在
npm install-g UglifyJS
以这种方式安装了UglifyJS,现在我可以通过UglifyJS
(而不是节点UglifyJS..
或其他方式)从我系统的任何地方运行它
我想创建自己的独立Node.js应用程序。我该如何开始?我在这里问这个问题是因为大多数教程只介绍如何编写一个简单的脚本,然后在节点上运行它(我已经介绍过了)
我的当前配置 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"
}
}
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) );
});
hash.js:
{
"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"
}
}
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) );
});
var crypto=require('crypto'),
指挥官=要求(‘指挥官’);
/*用作图书馆*/
函数散列(算法,str){
返回crypto.createHash(algorithm.update(str.digest)('hex');
}
exports.hash=hash;
/*作为独立应用程序使用*/
指挥官
.版本('1.0.0')
.用法(“[选项]”)
.option('-a,--algorithm[algorithm],'Hash algorithm','md5')
.parse(process.argv);
commander.args.forEach(函数(普通){
log(plain+'->'+散列(commander.algorithm,plain));
});
问题:
假设我在
节点哈希
目录中只有这两个文件。如何安装此项目,以便以后可以通过hash-a md5明文
在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) );
});
#/usr/bin/env节点
var crypto=require('crypto'),
指挥官=要求(‘指挥官’);
/*用作图书馆*/
函数散列(算法,str){
返回crypto.createHash(algorithm.update(str.digest)('hex');
}
exports.hash=hash;
/*作为独立应用程序使用*/
指挥官
.版本('1.0.0')
.用法(“[选项]”)
.option('-a,--algorithm[algorithm],'Hash algorithm','md5')
.parse(process.argv);
commander.args.forEach(函数(普通){
log(plain+'->'+散列(commander.algorithm,plain));
});
你是在问如何编写自己的npm模块,以便在全球范围内安装吗?@AndyD是的,请检查更新书籍非常有希望,但是hashbang让我担心Windows兼容性,我的目标是它!当我们在package.json中使用bin
字段时,npm将为我们处理这个问题。