Я пытаюсь сделать свой код Meteor ES6 совместимым. У меня был файл /both/global.js, содержащий функции и константы, которые я хотел сделать доступными глобально. Для целей ES6 я переместил его на /both/imports/global.js и поставил перед всеми функциями и константами export const.
Я еще не изменил всю структуру каталогов. Файлы шаблонов javascript все еще находятся в /client/controller/. Я добавил к ним операторы import для экспортируемых функций и констант. Когда я пишу операторы импорта в форме:
import { fn1, fn2, ... } from '../../both/imports/global.js';
они работают нормально.
Я бы предпочел импортировать все функции и константы одним:
import from '../../both/imports/global.js';
но это, похоже, ничего не дает.
Что я делаю неправильно?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это связано с тем, как работают импорт и экспорт.
Вам нужно
import * from '/both/imports/global.js'
В качестве альтернативы ...
import something from '/both/imports/global.js'
Будет искать экспорт default и назначать его переменной something.
import { fn1, fn2, ... } ...
Импортирует названные переменные в ваше пространство имен
Другой способ сделать это:
import globalFunctions from '/both/imports/global.js'
Тогда ваши функции могут быть вызваны следующим образом:
globalFunctions.fn1()
globalFunctions.fn2()
это ничего не сделает
Последним @Mikkel, вероятно, должен был быть import * as globalFunctions from 'path', иначе вы все равно будете искать только экспорт по умолчанию.
Забыл об этом, добавил
Хорошо спасибо. Так что же тогда делает
import from '../../both/imports/global.js';?