2024-04-26 11:00:05 +01:00
|
|
|
---
|
|
|
|
id: 5043
|
|
|
|
title: NodeJS_scripts
|
|
|
|
tags: [node-js]
|
|
|
|
created: Friday, April 26, 2024
|
|
|
|
---
|
|
|
|
|
|
|
|
# NodeJS_scripts
|
|
|
|
|
|
|
|
If we want to use NodeJS as a scripting language without going to the trouble of
|
|
|
|
setting up an NPM-based development environment, we can use the following
|
2024-04-28 11:20:04 +01:00
|
|
|
architecture.
|
2024-04-26 11:00:05 +01:00
|
|
|
|
|
|
|
```js
|
|
|
|
#!/usr/bin/env node
|
|
|
|
|
|
|
|
const process = require("process");
|
|
|
|
|
|
|
|
const actualScript = (firstParam, secondParam) => {
|
|
|
|
// Do something
|
|
|
|
};
|
|
|
|
|
|
|
|
if (require.main === module) {
|
|
|
|
const [, param1, param2] = process.argv;
|
|
|
|
actualScript(param1, param2).catch(console.error);
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2024-04-28 11:20:04 +01:00
|
|
|
Basically we have a function that contains the main actions of the script. This
|
|
|
|
is then invoked within `main` in the manner of a Bash or
|
|
|
|

|
2024-04-26 11:00:05 +01:00
|
|
|
|
2024-04-28 11:20:04 +01:00
|
|
|
This obviously requires the Node binary to be in your path and the script must
|
|
|
|
be run with executable privileges.
|
|
|
|
|
|
|
|
The module check at the bottom which makes the script file invocable.
|