Начал программировать на js, но опыта мало. Хотелось бы как на php иметь аналогию с классами. Чтобы писал в один файл модуль и потом его при необходимости подключал в файле. + Было бы преимуществом чтобы это потом можно было в 1 js файл компилировать. Подскажите пожалуйста какой фреймворк или библиотеку использовать под эти нужды? Или возможно какая то статья затрагивающая эту тему будет не лишней. Спасибо
В современной экосистеме JavaScript можно выделить несколько подходов к разбиению кода на модули:
AMD - формат описания модулей, используемый в Require.js. На мой ( очень субъективный) взгляд описание модулей несколько избыточно. Одна из основных "фишек" - асинхронная динамическая загрузка модулей по требованию. Хотя, если не изменяет память, есть и возможность собрать весь код в один пакет. Пример описания AMD модуля:
// Описание зависимостей
define(['jquery', 'foo', 'bar'], function (jquery, foo, bar) {
// Определение самого модуля
return function () {};
});
Common.js - подход, используемый, например, в Node.js экосистеме. Типичный модуль имеет вид:
// Импортируем зависимости
var jquery = require('jquery'),
foo = require('foo'),
bar = require('bar');
// Экспортируем тело модуля
module.exports = function() {};
UMD - комбинированный подход, позволяющий описывать модули, работающие как в AMD инфраструктуре, так и в Common.js. Является ничем иным, как средством совместимости.
Модули ES2015 - специальный синтаксис, введенный в стандарт ES2015 позволяющий разбивать код на модули. Пример модуля:
// Импортируем зависимости
import 'jquery' as $;
import foo from 'foo';
import bar from 'bar';
// Экспортируем тело модуля
export default function() {};
Плохая новость заключается в том, что ни один из подходов к описанию модулей не может работать в браузере напрямую. Вам в любом случае придется подключать некую стороннюю библиотеку для управления модулями. Для AMD - это Require.js; для Common.js - Browserify, Webpack и другие; для ES2015 - это может быть связка Browserify + Babel или что-то еще.
Для новых проектов я бы порекомендовал вам обратить внимание на ES2015 модули и на Common.js модули. Тому есть несколько причин:
Что почитать:
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть приложение FlaskВ части Python происходит обработка файла
Подскажите как добавить в код id, я так понимаю дело в нём, потому что редактирование происходит только после перезагрузки страницыСпасибо)
Есть код >>тут<<, как добавить туда ссылку типо: <a href="dlmydomain