Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在自己的系统上全局安装的Own Node.js项目 背景_Javascript_Windows_Node.js_Npm - Fatal编程技术网

Javascript 在自己的系统上全局安装的Own Node.js项目 背景

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应用程序。我该如何开始?我在这里问这个问题是因为大多数教程只介绍如何编写一个简单的脚本,然后在

我是Node.js的新手,所以请不要讨厌

我发现NPM非常有用,因为我可以在全局范围内安装Node.js包,然后像独立应用程序一样使用它们

这在Windows上确实有效,这让我很惊讶

例如,我通过
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将为我们处理这个问题。