"type": "module"
Почему нативные модули не так просто скомпилировать под любой контроллер?
В нативных модулях добавлены куски из других языков или как это происходит?
И как в npm понять, какие модули ванильные, а какие нативные?
const fs = require('node:fs/promises');
import * as path from 'node:path';
sequelize
впервые в жизни вижу:// в одном файле
const { sequelize } = require("sequelize");
// а во втором
const Sequelize = require("sequelize");
// вообще третий вариант
const { Sequelize } = require('sequelize');
//в main.js
bot.func = require('./functions')(bot);
//в /functions/index.js
module.exports = (bot) => ({
getMemoryMember: (id) => getMemoryMember(bot, id),
getGuildMember: (id) => getGuildMember(bot, id),
...
declOfNum,
getTime,
});
// в main.js
Object.assign(bot, require('./functions'));
// вместо bot.func.getMemoryMember(bot, id)
bot.getMemoryMember(id);
//в /functions/index.js
function getMemoryMember (id) {
// тут использовать this вместо bot
}
function getGuildMember (id) {
//1412351235
}
...
module.exports = {
getMemoryMember,
getGuildMember,
addExp,
getGuildRole,
declOfNum,
getTime
};
setTimeout(() => console.log('готово'), 5000);
Через 5 секунд вы получите в консоли надпись «готово», но всё это время вы без проблем могли пользоваться сайтом. const http = require('http');
const server = http.createServer((request, response) => {
let size = 0;
let n = 0;
request.on('error', (err) => {
}).on('data', (chunk) => {
size += chunk.length;
n++;
console.log('chunk', n, size);
}).on('end', () => {
console.log('end', size);
response.statusCode = 200;
response.setHeader('Content-Type', 'text/plain');
response.end('done\n');
});
});
server.listen(4000);
$ truncate --size 1000000 data
$ curl localhost:4000 --data-binary @data
chunk 1 32768
chunk 2 98304
chunk 3 163840
chunk 4 229376
chunk 5 294912
chunk 6 360448
chunk 7 425984
chunk 8 491520
chunk 9 557056
chunk 10 622592
chunk 11 688128
chunk 12 753664
chunk 13 819200
chunk 14 884736
chunk 15 950272
chunk 16 1000000
end 1000000