⑴ nodejs执行js文件和命令行下输入的区别
创建项目:
新建一个文件夹,假设我们取名为tbjnode
cd tbjnode
然后初始化项目
npm init
现在,我们需要修改 package.json 文件
1:删除main入口
2:添加preferGlobal设为true:该选项会提示用户全局安装
3:添加bin对象,用于建立索引:比如执行tbjname相当于执行index.js
修改后的package.json如下:
{
"name": "tbjnode",
"version": "1.0.3",
"description": "tbj node project cli",
"preferGlobal": true,
"keywords": [
"file",
"search"
],
"bin": {
"filesearch": "index.js"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "shui",
⑵ node命令行如何打开
推出node命令行:两次ctrl+C或者一次ctrl+D 退出终端:exit; (经测试,都没什么问题)
⑶ shell怎么执行node命令
这个要先准备个shell脚本,比如我要连到一台服务器,来修改它的密码,则我要提供IP,user,new pwd,old pwd,新建shell脚本文件change_password.sh:
复制代码代码如下:
#!/bin/sh
IP=""
NAME=""
PASSWORD=""
NEWPASSWORD=""
while getopts "H:U:P:N:" arg #选项后面的冒号表示该选项需要参数
do
case $arg in
H)
IP=$OPTARG
;;
U)
NAME=$OPTARG
;;
P)
PASSWORD=$OPTARG
;;
N)
NEWPASSWORD=$OPTARG
;;
?) #当有不认识的选项的时候arg为?
echo "含有未知参数"
exit 1
;;
esac
done
#先获取userid
USERID=`/usr/bin/ipmitool -I lanplus -H $IP -U $NAME -P $PASSWORD user list | grep root | awk '{print $1}'`
# echo $USERID
#根据userid来修改密码
/usr/bin/ipmitool -I lanplus -H $IP -U $NAME -P $PASSWORD user set password $USERID $NEWPASSWORD
⑷ 如何用命令行编译nodejs文件
在window平台,.js文件默认是cscript运行的。
你可以用node 空格 js文件名的方式用nodejs运行js文件,不能直接运行。
⑸ 怎么在cmd中查看nodejs版本
win+R 输入cmd打开控制台 输入node -v即可查看
⑹ 如何用命令行开启nodejs搭建web服务器
首先,需要安装nodejs,这个可以去官网下载,目前我本地安装的v0.12版本。
安装完成后可以通过命令行测试安装是否成功,输入:node -v,应该会显示当前安装node版本号。
本文中用到的模块,都是nodejs核心模块,不需要从外部下载,如果有需要,可以使用以下命令安装:npm install xxx。
开始
下一步,新建js文件,可以命名为server.js,代码如下:
var http = require('http');
var url = require('url');
var path = require('path');
var fs = require('fs');
var dir, arg = process.argv[2] || ''; // 命令行第三个参数,用来接收目录,可为空,相对当前server.js文件的目录名称
// 比如使用命令 node server debug,意思就是debug文件夹与server.js文件同级
// 且你想以debug文件夹启动web服务
http.createServer(function (req, res) {
var pathname = __dirname + url.parse(req.url).pathname;
⑺ nodejs命令行怎么复制文件内容
首先需要引入fs模块,这是nodejs自带的。
var fs=require("fs");
具体可参考Nodejs API:http://www.w3cfuns.com/tools.php?mod=booknodejs
主要用到了两个方法:
1、fs.readFile(filename, [encoding], [callback])
这是异步读取文件,filename是文件路径,encoding是编码格式,callback是回调函数。
异步读取一个文件的所有内容,例子如下:
fs.readFile('/etc/passwd', function (err, data) {
if (err) throw err;
console.log(data);
});
这里我使用的是本地测试文件:
function readFile(){
console.log('--------开始读取文件--------');
var fs = require('fs');
fs.readFile('test.txt', 'utf-8', function(err, data) {
if (err) {
console.log("读取失败");
} else {
console.log(data);
return data;
}
});
console.log('--------读取结束--------');
}
2、fs.writeFile(filename, data, encoding='utf8', [callback])
写文件:
function writeFile(data){
fs.writeFile("test2.txt",data,function(error){
if(error){
throw error;
}else{
console.log("文件已保存");
}
});
}
错误代码:File.js文件
var fs=require("fs");
function readFile(){
console.log('--------开始读取文件--------');
var fs = require('fs');
fs.readFile('test.txt', 'utf-8', function(err, data) {
if (err) {
console.log("读取失败");
} else {
console.log(data);
return data;
}
});
console.log('--------读取结束--------');
}
function writeFile(data){
fs.writeFile("test2.txt",data,function(error){
if(error){
throw error;
}else{
console.log("文件已保存");
}
});
}
function File(){
var txt=readFile();
writeFile(txt);
}
File();
⑻ 用node.js必须使用命令行吗能给一个不使用命令行的应用例子吗
node.js主要就是用来写服务器的。node.js要解决的问题就是利用javascript的异步的特性,用多使用内存换取处理速度快,最主要的就是比如一个request在读写硬盘或者等数据库的回应的时候,node.js可以先开始处理下一个request,不需要等第一个request结束。这个特性在桌面程序里用处不大,因为桌面程序是没有那么多可以同时处理的io的。
如果你非要想用node.js开发桌面程序的话,有个appjs的framework可以用,npm上有它的entry。
启动方式原始是什么意思,这个我不太理解
⑼ 命令模式运行nodejs文件 怎么输入
创建项目:
新建一个文件夹,假设我们取名为tbjnode
cd tbjnode
然后初始化项目
npm init
现在,我们需要修改 package.json 文件
1:删除main入口
2:添加preferGlobal设为true:该选项会提示用户全局安装
3:添加bin对象,用于建立索引:比如执行tbjname相当于执行index.js
修改后的package.json如下:
{
"name": "tbjnode",
"version": "1.0.3",
"description": "tbj node project cli",
"preferGlobal": true,
"keywords": [
"file",
"search"
],
"bin": {
"filesearch": "index.js"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "shui",
"license": "ISC"
}
bin下的filesearch用来指定filesearch命令执行的文件为index.js
使用 npm link ,绑定全局,不用重新安装。
好了,现在我们开始写一个功能,用来查询某个文件夹下是否有指定的文件。
我们新建一个 index.js
编写如下代码:
#!/usr/bin/env node
var exec = require('child_process').exec;
// 获取用户输入内容
var userArgv = process.argv.slice(2);
var searchPath = userArgv[0];
var searchFile = userArgv[1];
var commond = "find ";
// 判断用户输入是否错误
if(userArgv.length !=2) {
console.log("input commond link this 'filesearch filepath filename'");
} else {
commond += searchPath + ' -iname '+ searchFile;
var child = exec(commond, function(err, stdout, stderr) {
if(err) {
throw err;
}
console.log(stdout);
});
}
ok。现在开始测试一下: filesearch ./ package.json 。就可以看到结果了。
但是现在TJ大神也做了一个特别酷的工具。 commander
API地址: commander API
举例一个example:
新建一个文件 testCommander.js
然后在bin里,添加一个索引。
bin: {
"filesearch": "index.js",
"testC": "testCommander.js"
}
在 testCommander.js 写入以下代码:
#!/usr/bin/env node
var program = require('commander');
program
.version('0.0.1')
.option('-C, --chdir <path>', 'change the working directory')
.option('-c, --config <path>', 'set config path. defaults to ./deploy.conf')
.option('-T, --no-tests', 'ignore test hook')
program
.command('setup')
.description('run remote setup commands')
.action(function() {
console.log("setup");
});
program.parse(process.argv);
执行 testC -h ,就可以看到命令行结果。
commander这里主要用了五个接口:
1. version: 设定版本号
2. option: 对该命令介绍以及一些参数的执行
3. command: 新增一个子命令,执行``testC setup``
4. description: 对该命令的描述
5. action: 该子命令的要执行的操作。
其他的操作请查看该文档接口。
⑽ 如何基于nodejs开发一个命令行工具
npmuninstall-gzwj
然后再安装即可。
当我们的工具开发完成后,如何发布到社区,如何提供给其他开发者使用,这是我们的最后一步。npm包的发布很简单,原本只需要在包根目录执行:npm publish命令即可。但如果你是第一次发布应用,需要解决好账号登录的问题:先执行npm adser命令,依次输入用户名、密码和邮箱登录,然后通过npm whoami命令确认登录是否成功。万事俱备之后,再执行npm publish命令,你的包就可以发布到社区与众多开发者共享了!
最后,升级就简单了。本地增加好新的功能,测试通过之后,修改版本号之后,执行:npm publish等待完成即可。
PS:最好给每个包都增加一个README.md文件,写入包的作用,使用方法,更新日志等等。方便使用者查阅。完美~~