2015-06-27 2 views
0

Я работаю над проектом с более чем 1500 HTML-страницами.Мышление в Angular Way

Этот проект был ранее реализован в jQuery и JS-коде. Теперь мне нужно обновить этот SPA, используя AngularJS.

Я прошел через основы angularjs. У нас есть несколько взаимодействий в наших проектах (Перемещение с одной страницы на другую).

  1. Действительно ли <head ngapp="routingApp"> - это подходящее место для настройки маршрутизации для всего проекта или я могу определить его отдельно для каждого модуля?
  2. Как проект также использует jQuery для зависимостей bootstrap, имеет ли смысл включать jQuery для начальной загрузки?
+0

1500 страниц со страницей/1 на страницу/1500? или заполнить разные страницы, макеты, содержимое? – YOU

+0

Полностью разные страницы @YOU –

+0

@YOU вы можете помочь мне сэр? –

ответ

0

Вы можете определенно отделить его в модулях, посмотрите на https://github.com/angular-ui/ui-router.

1.) Если вы спрашиваете, имеет ли право определять целую маршрутизацию внутри 1 index.html и одно угловое приложение, да, это правильное место. Цель SPA

+0

Так что index.html будет правильным местом для определения всей маршрутизации независимо от количества маршрутов в проекте (у нас есть 1500 страниц)? –

+1

Нет index.html - это правильное место, чтобы провести весь ваш SPA, но его не очень хорошая идея иметь route.js и 20 000 строк кода для определения 1500 страниц.Но в угловом режиме вы можете отделить все приложение от функций/модулей и должны быть определены маршруты для коррегирующего модуля/функции, тогда вы зарегистрируете этот модуль внутри своего приложения, app.module ('app', ['app.dashboard']) и app.module ('app.dashboard', []). config (маршруты). Затем вы создадите целое приложение, например, lego. –

1

Я бы категорически отказался от объявления всей вашей маршрутизации в одном файле. Это приведет к действительно большому файлу & плохой ремонтопригодности.

Если у вас есть такой большой проект, я советую вам сначала прочитать Google's recommendation for AngularJS structure.

Тогда у каждого разработчика будет возможность «охватить» его работу в рамках одного модуля &, ему было бы легче понять его. Кроме того, было бы намного проще отключить/включить некоторые модули, исключив их из окончательного составления & фаз «компиляции».

E.g. у вас будет модуль, который определяет маршруты, которые могут быть достигнуты в этом модуле.

Я настоятельно рекомендую использовать Gulp & Bower (вы должны иметь Node.js), чтобы управлять вами зависимостей управления, а также управление фазового состава/компиляции. Как тизер здесь вы глотком скрипты компиляции для фрактальной структуры:

gulp.task('scripts', function() { 
var depJS = dependencies.bower.js.map(function (dep) { return config.bowerLib + dep; }); 
depJS = depJS.concat(dependencies.node.js.map(function (dep) { return config.nodeLib + dep; })); 

var srcJS = ['app/modules/app.js', 'app/modules/**/*.module.js', 'app/modules/**/*.js']; 

var libPipe = gulp.src(depJS) 
    .pipe(plumber()) 
    .pipe(concat('lib.min.js')) 
    .pipe(size({title: 'js-before lib'})) 
    .pipe(gulpif(config.minimize.perform, uglify(config.minimize.js))) 
    .pipe(size({title: ' js-after lib'})) 
    .pipe(gulp.dest(config.scriptsOutDir)); 

var pipe = gulp.src(srcJS) 
    .pipe(plumber()) 
    .pipe(concat('all.min.js')) 
    .pipe(size({title: 'js-before all'})) 
    .pipe(gulpif(config.minimize.perform, uglify(config.minimize.js))) 
    .pipe(size({title: ' js-after all'})) 
    .pipe(gulp.dest(config.scriptsOutDir)); 
}); 

Второй вопрос - AngularJS есть jQLite внутри него. Когда jQuery доступен, используется реализация jQuery. (обратите внимание: используйте jQuery/jqlite только в директивах). Это зависит от того, насколько сильно библиотека jQuery используется во всем вашем проекте &, какие методы используются. Может ли он быть заменен jqlite (ограниченным jQuery) или вы можете просто переписать все специфичные jQuery DOM/etc. манипулирование директивами. Вы упомянули bootstrap - вы имели в виду Twitter Bootstrap? Если да, посмотрите на AngularJS UI-Bootstrap

Смежные вопросы