簡體   English   中英

如何通過 CLI 自定義命令運行節點腳本?

[英]How to run a node script by CLI custom command?

目前,我正在做一個個人項目,我想為一些我必須運行的命令創建一個別名......類似於:

笑話...

節點...

TS...

我認為對於我的項目來說,擁有類似的東西會非常有幫助和酷

噗...

我正在使用 Node、Typescript 和 JS。

我在 inte.net 上看了一下,看到有人教我如何創建一些別名,我試過並且它有效:) 我已經在我的本地機器上使用了別名,因為我在.bashrc文件中添加了別名。

別名 foo = 命令...

但是,我也嘗試將它放在我的package.json腳本部分,例如:

“腳本”:{ “runFoo”:“富”,

但是當我運行npm run runFoo時,它說“foo”無法識別……有什么辦法嗎? jest 之類的工具如何做到這一點?

對於為此學習的任何方向,我將不勝感激。

額外:有什么方法可以在不知道文件名的情況下使用任何節點命令從文件夾中運行所有.js 喜歡:

節點*.js

雖然我不知道如何做別名,但它可以提供幫助......

編輯:我想做的是: https://developer.okta.com/blog/2019/06/18/command-line-app-with-nodejs

答案幫助我找到了這篇文章,並跟隨它,它在這里起作用。

它說“foo”未被識別

那是因為 shell 別名在 npm 腳本中不起作用(它們僅在直接在所述 shell 中調用時才有效),請參見例如如何將 pipe 轉換為 npm 腳本中的 bash 別名?

別名旨在減少輸入,並且不會自動跨環境共享,與 npm 腳本相反,這些腳本使用package.json 因此,如果您嘗試在另一個環境中運行該腳本,后者可能不知道該別名(或者更糟的是,將其用於其他用途。)。


jest 之類的工具如何做到這一點?

他們不...他們的命令不是別名,而是實際的可執行二進制文件或腳本。

當作為依賴項安裝時,您會在node_modules/.bin/文件夾中找到它們的可執行文件的鏈接,請參閱 node_modules 中 .bin 文件夾的用途是什么?

你可以很容易地創建這樣的可執行腳本,甚至是用 JavaScript 編寫的,由 Node.js 引擎執行,參見例如適用於 Node.js 腳本的 hashbang

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM