Size: a a a

Svelte [svelt] - All about Svelte JavaScript framework.

2021 October 23

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
привет, я юзаю так:

{#if showModal}
 <Modal onClose={() => showModal = false}>
   anyContent
 </Modal>
{/if}

пилить по компоненту на каждую микрошляпу открывающуюся в модалке в свелте не оч, компоненты имеют оверхед
источник

DD

Denis D in Svelte [svelt] - All about Svelte JavaScript framework.
{
 "name": "svltkt-graphile",
 "version": "0.0.1",
 "scripts": {
   "dev": "svelte-kit dev",
   "build": "svelte-kit build",
   "preview": "svelte-kit preview"
 },
 "devDependencies": {
   "@sveltejs/adapter-node": "^1.0.0-next.53",
   "@sveltejs/kit": "next",
   "@urql/svelte": "^1.3.1",
   "graphql": "^15.6.1",
   "polka": "^0.5.2",
   "postgraphile": "^4.12.5",
   "svelte": "^3.44.0"
 },
 "t
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
костыльность это когда ты понимаешь что твой каркарс невозможно развивать или он ломается  при каких то входных данных а работает только при конкретных, если ты не понимаешь в чем конкретно костыльность то твое решение ок
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
ну поэтому он и не установился и сборка упала
источник

DD

Denis D in Svelte [svelt] - All about Svelte JavaScript framework.
npm i pg-native
npm ERR! code 1
npm ERR! path /home/codenow/Projects/Svelte/svltkt_graphile/node_modules/libpq
npm ERR! command failed
npm ERR! command sh -c node-gyp rebuild
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@8.2.0
npm ERR! gyp info using node@14.18.1 | linux | x64
npm ERR! gyp info find Python using Python version 3.9.7 found at "/usr/bin/python3"
npm ERR! gyp http GET https://nodejs.org/download/release/v14.18.1/node-v14.18.1-headers.tar.gz
npm ERR! gyp http 200 https://nodejs.org/download/release/v14.18.1/node-v14.18.1-headers.tar.gz
npm ERR! gyp http GET https://nodejs.org/download/release/v14.18.1/SHASUMS256.txt
npm ERR! gyp http 200 https://nodejs.org/download/release/v14.18.1/SHASUMS256.txt
npm ERR! gyp info spawn /usr/bin/python3
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'make',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/home/codenow/Projects/Svelte/svltkt_graphile/node_modules/libpq/build/config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/home/codenow/.cache/node-gyp/14.18.1/include/node/common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=/home/codenow/.cache/node-gyp/14.18.1',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=/home/codenow/.cache/node-gyp/14.18.1/<(target_arch)/node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=/home/codenow/Projects/Svelte/svltkt_graphile/node_modules/libpq',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! which: no pg_config in (/home/codenow/Projects/Svelte/svltkt_graphile/node_modules/libpq/node_modules/.bin:/home/codenow/Projects/Svelte/svltkt_graphile/node_modules/node_modules/.bin:/home/codenow/Projects/Svelte/svltkt_graphile/node_modules/.bin:/home/codenow/Projects/Svelte/node_modules/.bin:/home/codenow/Projects/node_modules/.bin:/home/codenow/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/usr/local/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/home/codenow/.yarn/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin)
npm ERR! find: ‘/usr/pg*’: No such file or directory
npm ERR! find: ‘/opt/containerd’: Permission denied
npm ERR! gyp: Call to 'which pg_config || find /usr/bin /usr/local/bin /usr/pg* /opt -executable -name pg_config -print -quit' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: gyp failed with exit code: 1
npm ERR! gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:353:16)
npm ERR! gyp ERR! stack     at ChildProcess.emit (events.js:400:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:282:12)
npm ERR! gyp ERR! System Linux 5.14.13-200.fc34.x86_64
npm ERR! gyp ERR! command "/usr/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /home/codenow/Projects/Svelte/svltkt_graphile/node_modules/libpq
npm ERR! gyp ERR! node -v v14.18.1
npm ERR! gyp ERR! node-gyp -v v8.2.0
npm ERR! gyp ERR! not ok
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
<script>
 import { scale } from 'svelte/transition';
 import { scrollLock } from '../lib.js';
</script>

<div
 class="modal {$$restProps.class || ''}"
 transition:scale={{ duration: 300 }}
 use:scrollLock
>
 <slot />
</div>

let scrollLockers = 0;
export function scrollLock(node) {
 document.body.appendChild(node);
 scrollLockers += 1;
 if (scrollLockers === 1) document.body.classList.add('scrollfix');
 return {
   destroy() {
     scrollLockers -= 1;
     if (!scrollLockers) document.body.classList.remove('scrollfix');
   },
 };
}

вот такая у меня модалка
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
тоже полтора годика назад думал о костылях и о том что есть какой-то красивый способ, потом забил
источник

ea

evgeny afanasev in Svelte [svelt] - All about Svelte JavaScript framework.
Ну вот у меня такой же каркас, только я все это через svelte:component делаю, где передаю через стор объект со свелт компонентом и ссылкой на след и предыдущий. Есть ощущение сложной поддерживаемости со стороны других разработчиков, потому и задумался
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
А задача какая ?
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
Там нужно возвращаться назад по этим модалкам ?
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
Это визард какой-то ?
источник

ea

evgeny afanasev in Svelte [svelt] - All about Svelte JavaScript framework.
Там модалка входа. Ввод номера телефона, потом ввод смс кода и есть кнопка на изменить номер
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
Ну я бы сделал это на ифах, даже без компонентов
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
Типа делаешь page = 'phone' | 'sms'
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
И потом if phone разметка
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
If sms разметка
источник

ea

evgeny afanasev in Svelte [svelt] - All about Svelte JavaScript framework.
Просто эти же компоненты используются ещё при покупке с дополнениями. Допустим купить товар, проверяется есть ли подписка, если нет, то текстовый компонент с инфо и ещё какая то логика. Вообщем эти компоненты используются в таком же порядке, но с разными колбеками итоговыми и с дополнительными компонентами
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
ну не ставится у тебя этот пакет вот и разбирайся почему) пишет нет пермиссий
источник

ea

evgeny afanasev in Svelte [svelt] - All about Svelte JavaScript framework.
https://gist.github.com/2afanasev/a58035dc9976c5182f31578c2e15d4e5

Вот какая-то такая штука у меня для работы с модалками
источник

КС

Кирилл Спасибович... in Svelte [svelt] - All about Svelte JavaScript framework.
Жоска, ну тут ничем помочь не могу
источник