Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #311 (permalink)  
Старый 20.10.2015, 09:56
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от trikadin
почему не можешь-то?
конечно же я так пробовал Если так делать, то ошибка
Цитата:
'import' and 'export' may only appear at the top level
---

Сообщение от FINoM
Можешь пояснить? Что происходит при импорте этого модуля? Скрипт "ждет" пока коллбек не сработает?
именно это и хочу. К сожалению, пока ничего не получилось.
В веб-паке есть лоадеры:
Цитата:
bundle: Wraps request in a require.ensure block (callback)
promise: Wraps request in a require.ensure block (promise)
async-module: Same as bundle, but provides a way to handle script loading errors. Wraps request in a require.ensure block (callback, errback)
http://webpack.github.io/docs/list-o...html#packaging

но, пока ничего не получилось.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #312 (permalink)  
Старый 20.10.2015, 10:05
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

nerv_, а почему бы не инициализировать приложение после срабатывания коллбека? Это не то, что ты хочешь, но проблему с импортами решит.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #313 (permalink)  
Старый 20.10.2015, 10:24
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от FINoM
а почему бы не инициализировать приложение после срабатывания коллбека? Это не то, что ты хочешь, но проблему с импортами решит
я думал об этом. Однозначно решит. Просто это будет костылем. Я могу его поставить один раз, но делать это постоянно не имею желания
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #314 (permalink)  
Старый 20.10.2015, 14:21
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

nerv_, затупил, да. Тогда так:

export let GeoObject;

ymaps.ready(() => {
    GeoObject = class GeoObject extends ymaps.GeoObject {
        /**
         * @param {Object} [feature]
         * @param {Object} [options]
         * @see [url]https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/GeoObject-docpage/[/url]
         */
        constructor(feature, options) {
            super(feature, options);
        }
    };
  
    console.log('GeoObject', GeoObject);
});


Немного многословнее, но это не костыль, а норм практика.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #315 (permalink)  
Старый 20.10.2015, 14:23
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от nerv_
я думал об этом. Однозначно решит. Просто это будет костылем. Я могу его поставить один раз, но делать это постоянно не имею желания
Да ладно, нормально это. У меня на сервере, скажем, сначала инициализируется DB (классы моделей), потом -- контроллеры (тоже классы).
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #316 (permalink)  
Старый 20.10.2015, 14:29
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

допустим. А если я захочу унаследовать от GeoObject что-либо еще?
т.е. буду импортить GeoObject в другой модуль? Я получу undefined?

Вопрос сводится к асинхронному es6 импорту/экспорту
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #317 (permalink)  
Старый 20.10.2015, 14:57
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

nerv_, почитай мою статью

Если ты в другом модуле сделаешь
import { GeoObject } from './GeoObject';


то у тебя создастся биндинг на [[ExportsObject]].GeoObject. И в момент, когда значением переменной GeoObject станет класс GeoObject, то и значением [[ExportsObject]].GeoObject станет класс GeoObject. Но в прикладном смысле -- да, ему точно так же придётся ждать, пока у GeoObject появится значение (т. е. ждать инициализации ymaps). Я бы на твоём месте подождал бы этого на глобальном уровне (на уровне точки входа в приложение), а уже потом начинал бы импортить модули, которым нужен ymaps.

Сообщение от nerv_
Вопрос сводится к асинхронному es6 импорту/экспорту
Ты можешь использовать System.loader, но это пока жуткий драфт :С
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #318 (permalink)  
Старый 04.11.2015, 19:10
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Кароче, посоны, Object.observe выпиливают https://mail.mozilla.org/pipermail/e...er/044684.html
Ответить с цитированием
  #319 (permalink)  
Старый 04.11.2015, 19:15
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от Safort
Кароче, посоны, Object.observe выпиливают https://mail.mozilla.org/pipermail/e...er/044684.html
Сам я не большой поклонник О.о, но не понимаю, чем он им так не угодил. Они выпилили фичу, но не дали никакой альтернативы. Теперь нет ни одной нативной функции, которая слушает изменения всех свойств объекта. Прокси не считается.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #320 (permalink)  
Старый 04.11.2015, 19:19
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Цитата:
the feature is used on 0.0169% of Chrome pageviews, according to
chromestatus.com
Такие интересные, а они что ожидали что эту возможность будут сейчас юзать на 100% что ли? Оно и понятно, ведь как можно юзать то, что есть только в хроме.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать HTML фичи? 2chan Events/DOM/Window 6 26.09.2014 18:50