Внутри модуля содержится решение 1 (одной) задачи. Например, модуль для создания DOM-объектов. При импорте в проект он должен отдавать всего один объект или функцию, которая делает нужную задачу. Посмотрите, например, в Dojo Toolkit реализацию модулей в каталоге dojo/_base. Скажем, модуль array дает функционал для работы с массивами. Внутри он проверяет, какой уровень поддержки массивов у браузера и при необходимости использует полифиллы. Для того, кто этот модуль использует, нужно знать лишь его API.
Для взаимодействия используется несколько подходов. Первый - внедрение зависимостей, так называемое Dependency Injection. Модуль при вызове импортирует в себя другие модули и использует их функционал. Существует несколько подходов для решения этой задачи. Второй - обмен сообщениями. Вам нужен паттерн "Посетитель", реализация которого описана, например, на Wiki. Если совсем просто, есть некий глобальный объект с двумя методами - subscribe() и publish(). При необходимости передать, например, переменную из одного модуля или объекта в другой вы делаете так: первый подписывается на прослушивание определенного типа событий, а второй эти события по мере необходимости генерирует. Реализация и применение указаны в модуле dojo/topic.
Никак. Если модуль привязан к DOM, то это первый признак быдлокода. Правильным решением является абстрагирование от прямой работы с DOM, особенно от обращения к конкретным ID. Если в вашем коде часто используется document.getElementById(), то мои поздравления: вы используете антипаттерн hard code ("прибито гвоздями"). React и Angular для решения этой проблемы вводят понятие "компонент" - объединение в одном месте разметки и логики.
Extramezz: use strict всего лишь говорит считать ошибками разные вещи, которые в старом JS были вполне нормальными, например, использовать переменные до их объявления и подобные
beduin01: я обычно его называю app.js. Выглядит он у меня по-разному, зависит от размера приложения. Типовые примеры можно посмотреть на моём профиле Codepen, но там всё маленькое, поэтому в одном файле. В реальных приложениях этот файл тоже маленький, но содержит только объявление модуля и вызов его двух методов - confi() и run()
В каком режиме идёт установка? UEFI или классический BIOS? Что с диском? Как сделана разметка? Какой тип таблицы разделов? Что насчёт загрузки остальных дистрибутивов, например, Manjaro и Ubuntu? В Live-режиме работают? Точно HDD не сыпется? Может быть, в ядре нет поддержки контроллера HDD?
В общем, там может быть что угодно, лучше поищите знакомого линуксоида или попробуйте для начала другой дистрибутив.
Здравствуйте! Хороший вопрос! Я не пользуюсь Backbone, но на добровольных началах хотел бы сделать вам фронтэнд с использованием Angular Material. Вот пример того, что я могу: codepen.io/dunmaksim
Мой блог указан в личных данных.
Пишите на почту, если согласны: dunmaksim@yandex.ru
Насчёт 2-way-data-binding в последнем предложении: в какой-то версии, 1.4 вроде, от этого отказались из-за некоторых проблем, теперь параметры в $routeParams только для чтения. Ну как для чтения... менять их можно, но эффекта не будет. $location.path( ) спасёт отца русской демократии.