⑴ 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文件,寫入包的作用,使用方法,更新日誌等等。方便使用者查閱。完美~~