Выполнение файла JS с использованием узла - PullRequest
0 голосов
/ 10 июля 2020

У меня есть сценарий node.js с пометкой Index. js, у меня есть еще 1 файловый бот. js. Используя Node.js, как я могу выполнить этот файл?

var fs = require('fs');
const commandFiles = fs.readdirSync('./users/commands').filter(file => file.endsWith('.js'));

fs.watch('./users', (eventType, filename) => {
    if (eventType === "rename" && filename.includes("txt") != true) {
        let data = fs.readFileSync('./package.json', "utf8");
        console.log("called"); 
        fs.mkdirSync(`./users/${filename}/commands`); 
        commandFiles.forEach(element => {
            fs.writeFileSync(`./users/${filename}/commands/${element}`, data);  
        });
        fs.writeFileSync(`./users/${filename}/package.json`, data);  
        /*
            EXECUTE bot.js HERE
        */
    }
});

1 Ответ

1 голос
/ 10 июля 2020

Вот один из способов сделать это:

index. js file:

const { customCodes } = require('./bot.js');

console.log("Hello World from Node from index.js");

customCodes();

bot. js file:

customCodes = () => {
    console.log('Code from Custom codes');
}

module.exports = {
    customCodes
}

Результат будет следующим:

> nodemon server.js

[nodemon] 2.0.4
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node server.js index.js`

Hello World from Node from index.js
Code from Custom codes

Есть еще пара способов, например установка чего-либо в качестве экспортируемой функции или класса по умолчанию. Но это один из самых простых способов.

...