Size: a a a

2021 April 03

YK

Yury Khmarin in Svelte [svelt]
Eric Rovell
Окей, если вдруг наткнётся на проблему, то решается так (вместе с dotenv):

import {} from "dotenv/config";
import { MongoClient } from 'mongodb/index';
import {config} from 'dotenv'
import replace from '@rollup/plugin-replace'

 plugins: [
   replace({
     process: JSON.stringify({
       env: {
         API_KEY: production ? process.env.API_KEY : config().parsed.API_KEY
       }
     })
   }),

...
источник

YK

Yury Khmarin in Svelte [svelt]
Eric Rovell
Писал сегодня касательно MongoDB. Из-за него (и из-за dotenv) пакетов появляются такие ошибки.

Error when evaluating SSR module /node_modules/dotenv/lib/main.js:
ReferenceError: require is not defined

Как можно с этим разобраться?
.
источник

YK

Yury Khmarin in Svelte [svelt]
Alexander Ponomarev
import {} from "dotenv/config"; зачем так писать? можно же просто import "dotenv/config";
import {config} from 'dotenv'
источник

A

Arushwl in Svelte [svelt]
источник

МТ

Марк Танащук... in Svelte [svelt]
3bl3gamer
в смысле, так?
Смотря что нужно

Как я понял нужно вводимое в инпут шестнадцатеричное число автоматически конвертировать в десятеричное.

Вот репл:
https://svelte.dev/repl/5181cfc873e649ddbc47ae7fd1ce9595?version=3.37.0
источник

3

3bl3gamer in Svelte [svelt]
Марк Танащук
Смотря что нужно

Как я понял нужно вводимое в инпут шестнадцатеричное число автоматически конвертировать в десятеричное.

Вот репл:
https://svelte.dev/repl/5181cfc873e649ddbc47ae7fd1ce9595?version=3.37.0
да, вроде рабоатет. но чем способ на экшенах лучше евентов? типа:
...
 $: hex = num.toString(16)
 function onChange(e) {
   num = parseInt(e.currentTarget.value, 16)
 }
</script>

<input value={hex} on:change={onChange} />

так как минимум кода меньше
источник

МТ

Марк Танащук... in Svelte [svelt]
3bl3gamer
да, вроде рабоатет. но чем способ на экшенах лучше евентов? типа:
...
 $: hex = num.toString(16)
 function onChange(e) {
   num = parseInt(e.currentTarget.value, 16)
 }
</script>

<input value={hex} on:change={onChange} />

так как минимум кода меньше
on:change(как минимум у селектов) — плохая практика по нескольким причинам(могу назвать)
источник

МТ

Марк Танащук... in Svelte [svelt]
Но в целом главное, чтобы работало
источник

МТ

Марк Танащук... in Svelte [svelt]
Так что стоит выбирать то что по религиозным причинам воспринимается лучше
источник

3

3bl3gamer in Svelte [svelt]
Марк Танащук
on:change(как минимум у селектов) — плохая практика по нескольким причинам(могу назвать)
по этим? https://github.com/sveltejs/svelte/issues/4946

так разве bind:value в селекте не вешается на этот же onChange?
источник

МТ

Марк Танащук... in Svelte [svelt]
3bl3gamer
по этим? https://github.com/sveltejs/svelte/issues/4946

так разве bind:value в селекте не вешается на этот же onChange?
Да, по этому треду

На счет селекта - как я понял компилятор тоже добавляет слушатель на change, но выполняет обновление самостоятельно через всякие select_option и прочие internal'ные функции что, как я понимаю, более безопасно

Вот здесь находятся
https://github.com/sveltejs/svelte/blob/v3.36.0/src/runtime/internal/dom.ts
источник

МТ

Марк Танащук... in Svelte [svelt]
На инпут кстати вешается слушатель input вместо change при биндинге
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
3bl3gamer
проверка на равенство между num и hex (с конвертацией) перед каждым присваиванием? всё равно ругается на циклическую зависимость, ещё на этапе сборки
посмотрел внимательнее, тут все еще проще: https://svelte.dev/repl/5cc79bd74b3e48a28a34a80914bfd01f?version=3.37.0
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
давайте только стараться вопросы сразу в REPL заводить. по крайней мере если они такие простые в реализации и не требуют специфичного окружения
источник

ДЗ

Даниил Завьялов... in Svelte [svelt]
Такой вопрос. С чем связано то, что когда мы удаляем десятичное число внутри input связь пропадает и далее если мы пишем уже другое число HEX не меняется.
источник

ДЗ

Даниил Завьялов... in Svelte [svelt]
Ошибка возникает при парсинге пустой строки и из за этого происходит такое поведение?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
там похоже js падает. надо проверку добавить
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
поправил
источник

ДЗ

Даниил Завьялов... in Svelte [svelt]
undefined спасёт мир)
источник

3

3bl3gamer in Svelte [svelt]
так тут хексовый инпут не редактируется. наверно потмоу что при изменении hex выполняется весь блок $:, а там первая строка
hex = num?.toString(16);
затирает только что изменившееся значение
источник