我正在处理超过1500个HTML页面的项目。
此项目以前是在jQuery和JS代码中实现的。现在我必须使用AngularJS修改此SPA。
我已经完成了angularjs的基础知识。我们在项目中有几个互动(从一个页面移动到另一个页面)。
<head ngapp="routingApp">
是为整个项目配置路由的正确位置,还是可以为每个模块单独定义? 答案 0 :(得分:1)
我强烈建议您不要在一个文件中声明所有路由。这将导致真正的大文件和可维护性差。
如果你有这么大的项目,我会建议你先阅读Google's recommendation for AngularJS structure。
然后,每个开发人员都有办法在一个模块和一个模块中“调整”他的工作。他更容易理解它。 此外,只需将它们排除在最终作曲和“编译”阶段之外,就可以更容易地禁用/启用某些模块。
E.g。您将拥有一个模块,用于定义可在此模块中访问的路径。
我强烈建议您使用Gulp&amp; Bower(您必须拥有Node.js)来管理依赖关系管理以及合成/编译阶段管理。 作为预告片,你有分形结构的gulp脚本编译:
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 /等。指令操纵。 你提到过bootstrap - 你的意思是Twitter Bootstrap?如果是这样,请查看AngularJS UI-Bootstrap
答案 1 :(得分:0)
您可以在模块中定义它,将其分开https://github.com/angular-ui/ui-router。
1。)如果你问是否有权在1 index.html和一个角度应用中定义整个路由,是的,它是正确的地方。这是SPA的目的