All streams
Search
Write a publication
Pull to refresh
10
0

Пользователь

Send message
Она вообще никак не влияет на то, о чем написано в топике. Тем более в коммит меседже написано Also, with WebComponents it is normal to have custom elements in the DOM.
<?php

namespace Vendor\NameSpace;

class SiteUser extends User {

}



<?php

namespace Vendor\NameSpace;

class LogisticUser extends User {

}
<?php

namespace Wb\User;

class Model {

}


<?php

namespace Wb\Models;

class User {

}


И почитайте про PSR-0
Для этого сущесвуют неймспейсы
У RequireJS один из способов подключения файлов как раз очень похож на CommonJS. Для поиска всех require-ов используется Function.prototype.toString(). То есть перед вызовом функции define — все зависимоти будут подключены. Этот способ на много приятнее, чем описывать все зависимости первым аргументом в define функции.
Там есть то ли баг, то ли фича, но когда прописываешь компоненты в paths, и внутри этого компонента рекйварить другой компонент — но не будет работать относительный путь. Точнее будет, но считаться он будет от файла, где описан конфиг с paths.
Второй раз промахнулся веткой. Хотя точно нажимал «ответить». Ответил Вам ниже.
Надо попробоать сжать с помощью RequireJS Optimizer

Скорее всего ен выйдет. Оптимайзер ищет строки:
require('/path/to/script');

И подключает их в проект.
Вот разница наглядно:
var scripts =[
  'modules/foo/foo',
  'modules/bar/bar',
  'modules/application/application'
];

for (var i =0 ; i < scripts.length; i++){
  require(scripts[i]);
}

И
require('modules/foo/foo');
require('modules/bar/bar');
require('modules/application/application');


А у Вас как раз зависимости описаны как первом примере.
Вы путаете систему модулей и ленивую их подрузку

Путаница скорее произошла в том, что ленивая подгрузка != ленивая инициализация.

Лично я не вижу ничего избыточного в использовании AngularJS в паре с RequireJS. И скорее всего, это тема для отдельного хабра топика и дискасса под ним.

А по поводу ленивой подгрузки модулей, эта фича обещает быть реализованной в 2-ой версии angular

И скорее всего, будет не совместимо с AngularJS v1.*
А по поводу ленивой подгрузки модулей, эта фича обещает быть реализованной в 2-ой версии angular

Да, вот как раз пост. Там есть куча ссылок на интересные гугл доки.

We’ll see a less complex DI by eliminating the config phase, simplifying the syntax by using declarative-style ES6+ annotations instead of imperative. We’ll enjoy greater capabilities by integrating DI with module loading through ES6 Modules. We’ll also see the ability to lazily-load parts of our JS through child injectors.

Вот ссылка на пример.
Да, здесь нету ленивой загрузки. Но она и не нужна, тем более в продакшене.
Во время разработки — все грузится сразу. С этим работают только разработчики.
В продакшене — весь проект минифицируется. Это в любом случае будет лучше.
Само собой, и Вам ничего не мешает так же делать при помощи AngularJS.

Каждый файл и содержит какой либо из компонентов ангулара. Вас смущает то, что он обернут в define функцию?

Вы явно забыли про конфиг для RequireJS, в не работы не намного меньше.

В котором чаще всего описываются пути для вендоров. Пути для юзер сркиптов — очень редко.

Это же на на много удобнее, писать в коде require('relative/path/to/script'); чем писать все это в head теге, да еще и учитывать последовательность подключения.

К примеру у нас приложение есть несколько модулей. Каждый модуль — отдельная часть приложения: projects, emails, advertising и так далее. И уже в самом модуле описаны все зависимости. В RequireJS есть два способ описания зависимостей — передавать параметры в define функцию, или просто реквайрить скрипты внутри функции, в таком случае это будет похоже на CommonJS. И так явно удобнее, чем пихать все head или через менеджить через какие либо утилиты бекенда.

И я еще раз говорю, модуль — логически отдельная часть, которая содержит ngModule и его компоненты — контрллеры, директивы, фильтры, сервисы и так далее. Плагины для RequireJS позволяют максимально отвязать код, от структуры проекта и возможность переносить один компонент из одного модуля в другой без особых изменений в коде (но такие сутации достаточно редкие).
Когда продакшн — да, проект собирается. А во время разработки очень удобно хранить все в отдельный файлах, грубо говоря — один класс = один файл. Тем более загрузка файлов в с помощью RequireJS — на много удобнее, чем менеджить все нужные скрипты в head теге. Так ведь будет всего лишь один подключенный скрипт, а все другие зависимости будут указаны уже внутри скриптов.

Так ведь нету никаких противоречий с модулями AngularJS. Каждый модуль (как на диаграмме в начале статьи) — и есть AngularJS модуль. Суть в том, что он находится в отдельной директории вместе со всеми своими компонентами. А плагины для RequireJS упрощают загрузку модулей, компонентов, уменьшают зависимость кода от структуры проекта и названия модулей, и структура становится более гибкой.
Это же совершенно не то, о чем статья. Очень сильная зависимость кода от структуры проекта. angularAMD — ленивая загрузка модулей приложения, где модуль — это контроллер, в котором описаны все зависимости. Реализован как обертка над angular, что не очень хорошо.
В статье описан способ как сделать структуру приложения гибче, и уменьшить зависимость кода от структуры приложения и названия модулей.
Тем более плагины, о которых написано в статье могут использоваться в паре с angularAMD. Получится ленивая загрузка + гибкость структуры и уменьшение кода в описании зависимостей.
2

Information

Rating
Does not participate
Registered
Activity