Run function in script from command line (Node JS)

前端 未结 11 501
情书的邮戳
情书的邮戳 2020-12-07 07:25

I\'m writing a web app in Node. If I\'ve got some JS file db.js with a function init in it how could I call that function from the command line?

11条回答
  •  一个人的身影
    2020-12-07 08:14

    Update 2020 - CLI

    As @mix3d pointed out you can just run a command where file.js is your file and someFunction is your function optionally followed by parameters separated with spaces

    npx run-func file.js someFunction "just some parameter"
    

    That's it.

    file.js called in the example above

    const someFunction = (param) => console.log('Welcome, your param is', param)
    
    // exporting is crucial
    module.exports = { someFunction }
    

    More detailed description

    Run directly from CLI (global)

    Install

    npm i -g run-func
    

    Usage i.e. run function "init", it must be exported, see the bottom

    run-func db.js init
    

    or

    Run from package.json script (local)

    Install

    npm i -S run-func
    

    Setup

    "scripts": {
       "init": "run-func db.js init"
    }
    

    Usage

    npm run init
    

    Params

    Any following arguments will be passed as function parameters init(param1, param2)

    run-func db.js init param1 param2
    

    Important

    the function (in this example init) must be exported in the file containing it

    module.exports = { init };
    

    or ES6 export

    export { init };
    

提交回复
热议问题