Size: a a a

2020 September 12

МТ

Марк Танащук... in Svelte [svelt]
А в чем может быть проблема реализации автоматически глобальной переменной(константной) для всего свелт приложения?

Просто у меня есть библиотека которую нужно из main.js передавать пропсом в App.svelte и обращаться к ней почти из каждого компонента.

Вариант с прокидыванием в дочерние компоненты пропсом засоряет атрибуты, как и контекст засоряет скрипты.

И было бы идеально для такого кейса иметь просто глобальную переменную которую можно обьявить и без контекстов и прочего использовать в любой части приложения
источник

МТ

Марк Танащук... in Svelte [svelt]
Но такой штуки нету и это добавляет где-то строк 60-70 в исходниках если контекстами добавлять(и это всего лишь для 1 переменной) :(
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Марк Танащук
А в чем может быть проблема реализации автоматически глобальной переменной(константной) для всего свелт приложения?

Просто у меня есть библиотека которую нужно из main.js передавать пропсом в App.svelte и обращаться к ней почти из каждого компонента.

Вариант с прокидыванием в дочерние компоненты пропсом засоряет атрибуты, как и контекст засоряет скрипты.

И было бы идеально для такого кейса иметь просто глобальную переменную которую можно обьявить и без контекстов и прочего использовать в любой части приложения
В window нагадить не вариант ?

Всё равно нужно будет либо импорт, либо контекст
источник

МТ

Марк Танащук... in Svelte [svelt]
Кирилл Спасибович
В window нагадить не вариант ?

Всё равно нужно будет либо импорт, либо контекст
Не работает из window
источник

МТ

Марк Танащук... in Svelte [svelt]
токо если в приложение извне прокинуть все ок
источник

МТ

Марк Танащук... in Svelte [svelt]
Кирилл Спасибович
В window нагадить не вариант ?

Всё равно нужно будет либо импорт, либо контекст
Так собственно если в каждом компоненте для 1 только переменной делать контекст это добавляет минимум 60-70 строк(у меня 68)

И вроде как это не смертельно сделать просто автоматические getContext в дочерних компонентах, зарезервировав название глобальной переменной
источник

К

Константин in Svelte [svelt]
Марк Танащук
Но такой штуки нету и это добавляет где-то строк 60-70 в исходниках если контекстами добавлять(и это всего лишь для 1 переменной) :(
а в чём проблема добавить в сборщик?
источник

К

Константин in Svelte [svelt]
я так сделал
источник

МТ

Марк Танащук... in Svelte [svelt]
Константин
а в чём проблема добавить в сборщик?
В сборщик?
источник

К

Константин in Svelte [svelt]
ну вебпак или роллап
источник

МТ

Марк Танащук... in Svelte [svelt]
Я не в курсе о чем речь :(

Примерчик можно?
источник

К

Константин in Svelte [svelt]
new webpack.ProvidePlugin({
     '$': 'jquery',
     'jQuery': 'jquery',
источник

К

Константин in Svelte [svelt]
это в вебпаке
источник

К

Константин in Svelte [svelt]
в plugins: []
источник

К

Константин in Svelte [svelt]
  plugins: [
   new webpack.ProvidePlugin({
     '$': 'jquery',
     'jQuery': 'jquery',
     'window.jQuery': 'jquery',
     'window.$': 'jquery',
     Popper: ['popper.js', 'default'],
     'E': [path.resolve(path.join(__dirname, 'src/utils', 'index.js')), 'E'],
     'D': [path.resolve(path.join(__dirname, 'src/utils', 'index.js')), 'D'],
   }),
]
источник

К

Константин in Svelte [svelt]
у меня так
источник

МТ

Марк Танащук... in Svelte [svelt]
источник

К

Константин in Svelte [svelt]
в роллапе ща покажу тоже
источник

К

Константин in Svelte [svelt]
    plugins: [
     replace({
       'process.browser': true,//std
       'process.env.NODE_ENV': JSON.stringify(mode),//std
       'tailwinded': JSON.stringify(tailwinded)
     }),
источник

К

Константин in Svelte [svelt]
import replace from '@rollup/plugin-replace';
источник