Imba 的互動式偵錯器和 REPL。
節點管理:
npm i -g imba-shell
紗:
yarn global add imba-shell
若要開始使用imba-shell
,請執行以下命令:
imba-shell
若要啟用 TypeScript,您可以傳遞--ts
標誌:
imba-shell --ts
請注意,您也可以使用
imbas
代替imba-shell
。
若要使用多行模式,請使用 .editor 指令:
>>> .editor
這將開啟一個多行編輯器。
使用多行模式時,可以使用Shift+Tab
組合鍵來縮排目前行。
若要刪除選項卡,請使用Backspace
鍵。
若要清除imba-shell
,請使用clear
helper:
>>> clear !
您也可以使用
.clear
指令。
要退出imba-shell
,請使用exit
助手:
>>> exit !
您也可以使用
.exit
命令。
您可以使用imba-shell
作為運行時:
imbar file.imba
imbar
別名:imba-r
、imba-runtime
、ir
。
將參數傳遞給您的腳本:
imbar craftsman.imba mail:send --help
持續建構並觀察專案(開發目的):
imbar --watch server.imba
標誌:
--watch
別名:
-w
建立自執行腳本:
hello
#!/usr/bin/env imbar
const name = process . argv . slice ( 2 )[ 0 ] ?? 'stranger'
console . log "Hello {name}"
如果您使用的是Linux
、 FreeBSD
或MacOS
,您可以讓腳本可執行:
chmod u+x hello
注意:當創建不以
".imba"
結尾的腳本時,Imba 運行時會將您的腳本克隆到以.imba
結尾的隱藏檔案中,並執行它而不是原始腳本。執行完成後,隱藏檔案將被刪除。
運行腳本:
./hello Donald # Hello Donald
./hello # Hello stranger
imba-shell
也可以用作模組。這是一個例子:
因巴:
import { ImbaRepl } from 'imba-shell'
# you can also pass "typescript" instead of "imba"
const repl = new ImbaRepl 'imba' , 'imba> '
repl . run !
JavaScript:
const { ImbaRepl } = require ( 'imba-shell' ) ;
/** you can also pass "typescript" instead of "imba" */
const repl = new ImbaRepl ( 'imba' , 'imba> ' ) ;
repl . run ( ) ;
請注意,您可以在
run
函數中傳遞 Node.js repl 選項的物件。
以下是如何啟用歷史記錄功能的範例:
因巴:
import { ImbaRepl } from 'imba-shell'
import os from 'os'
import path from 'path'
const repl = new ImbaRepl 'imba' , 'imba> ' , path . join ( os . homedir !, '.my_repl_history' )
repl . run !
JavaScript:
const { ImbaRepl } = require ( 'imba-shell' ) ;
const os = require ( 'os' ) ;
const path = require ( 'path' ) ;
const repl = new ImbaRepl ( 'imba' , 'imba> ' , path . join ( os . homedir ( ) , '.my_repl_history' ) ) ;
repl . run ( ) ;
您可以將任何有效路徑設定為歷史文件。
您可以使用registerCommand
函數註冊命令:
因巴:
repl . registerCommand 'goodbye' , do
console . log 'Goodbye!'
this . close !
JavaScript:
repl . registerCommand ( 'goodbye' , () = > {
console . log ( 'Goodbye!' );
this . close ();
});
您可以使用registerCallback
函數註冊 REPL 中可用的函數和屬性:
因巴:
const repl = new ImbaRepl
repl . registerCallback do ( ctx )
ctx . foo = 'bar'
JavaScript:
const repl = new ImbaRepl ( ) ;
repl . registerCallback ( ( ctx ) => {
ctx . foo = 'bar'
} )
當在 REPL 中呼叫foo
時,它將返回bar
。
安裝依賴項:
$ npm i
從原始碼建構:
$ npm run build
測試Imba-Shell
:
$ npm run test
如果您發現任何與安全相關的問題,請發送電子郵件至 [email protected],而不是使用問題追蹤器。
麻省理工學院許可證 (MIT)。請參閱許可證文件以獲取更多資訊。