0
我嘗試創建一個簡單的node.js命令行工具來解決這個問題。我正在關注這個tutorial。使用npm init
,我創建了一個名爲lb-model-discovery
的項目。這是的package.jsonNode.js命令行工具在記事本中打開而不是正在執行
{
"name": "lb-model-discovery",
"version": "1.0.0",
"description": "loopback model discovery command line tool",
"main": "index.js",
"bin" :{
"lb-discover":"./index.js"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "seya obey",
"license": "ISC"
}
的內容和這是index.js
的在項目的根目錄(很簡單)內容:
console.log('hello world');
之後,我從內執行該命令(由上面的教程建議)的文件夾:
npm install -g
這正確地安裝我工具作爲一個全球節點的命令行模塊。進入我係統中的節點模塊全局存儲庫(Windows),我可以看到這是在npm文件夾中創建的文件:lb-discover.cmd
。這裏是它的內容:
@"%~dp0\node_modules\lb-model-discovery\index.js" %*
但現在當我運行在命令行提示符的新工具:
$ lb-discover
,而不是在控制檯中顯示「Hello World」的消息,它會打開記事本而只是顯示index.js文件的內容。
我在做什麼錯?我如何執行我的自定義node.js命令行?
任何幫助將不勝感激。
嘗試解除文件擴展名.js與記事本打開:右鍵單擊文件屬性打開與取消選中記事本,我希望這可以幫助。 –
感謝您的回答。但是,通過「取消鏈接」文件擴展名是什麼意思?其他命令行工具在同一文件夾中工作正常 – TheSoul
右鍵單擊文件>屬性>打開與>取消選中記事本,我希望這有助於 –