Решил изучать TypeScript; дошел до логов. Имея опыт разработки в Java, выбор пал на библиотеку log4js.
На гитхабе в репозитории библиотеки есть пример для TypeScript. Решил его пока вставить в файл, где будет использоваться в дальнейшем (в качестве теста работы библиотеки), но при сборке проекта получаю ошибку. На нативном JS все работает прекрасно.
Как выглядит мой файл:
import { Client } from 'pg';
import { configure, getLogger } from 'log4js';
configure({
appenders: { cheese: { type: 'file', filename: 'cheese.log' } },
categories: { default: { appenders: ['cheese'], level: 'error' } }
});
const logger = getLogger();
class Database {
client: Client;
constructor() {
// Клиент для работы с базой данных
this.client = new Client({
host: process.env.DB_HOST,
port: parseInt(process.env.DB_PORT),
database: process.env.DB_NAME,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
keepAlive: true
});
// Проверка подключения при старте сервера
setTimeout(() => {
this.checkConnection();
}, 0);
}
/**
* Проверка подключения к базе данных
* @return Promise<void>
*/
private async checkConnection(): Promise<void> {
try {
await this.client.connect();
logger.level = 'debug';
logger.debug("Some debug messages");
} catch (error) {
console.error(error);
process.exit();
}
}
}
export default new Database();
Причем IDE мне выводит данную подсказку об ошибке: Однако, при Ctrl + щелчок мыши, перекидывает в файл log4js.d.ts.
Вот ошибка, которую я получаю при запуске сборке (npm run build):
Содержимое лога об ошибке:
1 verbose cli 'run',
1 verbose cli 'build' ]
2 info using npm@6.11.3
3 info using node@v10.16.0
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle roleplay-serverside@1.0.0~prebuild: roleplay-serverside@1.0.0
6 info lifecycle roleplay-serverside@1.0.0~build: roleplay-serverside@1.0.0
7 verbose lifecycle roleplay-serverside@1.0.0~build: unsafe-perm in lifecycle true
8 verbose lifecycle roleplay-serverside@1.0.0~build: PATH: C:\Users\alex\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;D:\Alt V Windows Server\main-mode-alt\server\node_modules\.bin;C:\ProgramData\DockerDesktop\version-bin;C:\Program Files\Docker\Docker\Resources\bin;E:\Oracle\oraclexe\app\oracle\product\11.2.0\server\bin;;C:\Python27\;C:\Python27\Scripts;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\nodejs\;C:\Program Files\PuTTY\;C:\Program Files\Git\cmd;C:\Program Files\TortoiseGit\bin;C:\Program Files\PostgreSQL\11\bin;C:\Program Files\apache-maven-3.6.1\bin;C:\Users\alex\AppData\Local\Microsoft\WindowsApps;C:\Users\Александр\AppData\Roaming\npm
9 verbose lifecycle roleplay-serverside@1.0.0~build: CWD: D:\Alt V Windows Server\main-mode-alt\server
10 silly lifecycle roleplay-serverside@1.0.0~build: Args: [ '/d /s /c', 'rollup -c --config rollup.config.ts' ]
11 silly lifecycle roleplay-serverside@1.0.0~build: Returned: code: 1 signal: null
12 info lifecycle roleplay-serverside@1.0.0~build: Failed to exec build script
13 verbose stack Error: roleplay-serverside@1.0.0 build: `rollup -c --config rollup.config.ts`
13 verbose stack Exit status 1
13 verbose stack at EventEmitter.<anonymous> (C:\Users\alex\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16)
13 verbose stack at EventEmitter.emit (events.js:198:13)
13 verbose stack at ChildProcess.<anonymous> (C:\Users\alex\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack at ChildProcess.emit (events.js:198:13)
13 verbose stack at maybeClose (internal/child_process.js:982:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
14 verbose pkgid roleplay-serverside@1.0.0
15 verbose cwd D:\Alt V Windows Server\main-mode-alt\server
16 verbose Windows_NT 10.0.18362
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\alex\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "run" "build"
18 verbose node v10.16.0
19 verbose npm v6.11.3
20 error code ELIFECYCLE
21 error errno 1
22 error roleplay-serverside@1.0.0 build: `rollup -c --config rollup.config.ts`
22 error Exit status 1
23 error Failed at the roleplay-serverside@1.0.0 build script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
Как быть в данной ситуации? Может кто-то сталкивался с подобной проблемой?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Подскажите, как к этому примеру прикрутить подписку на событие, например клик по кастомному контролу? Можно конечно в HTML написать, но это...
Всем приветПытаюсь понять как работаю css модули для вложеных компонентов
Нужно при помощи подпрограмм сформировать и вывести на экран массивы A[15] и B[14]И потом, при помощи функций найти их минумумы и максимумы
Нужно проверить, находится ли X в определённой области, например от 0 до 1Можно ли записать это так: if (0 < x < 1 )?