6
votes

Besoin de la navigation de motif / angulaire

Je travaille dans un projet avec Angular and Browserify, c'est la première fois pour moi d'utiliser ces deux outils ensemble, alors je voudrais des conseils sur lesquels est le moyen de exiger des fichiers Avec la navigation de navigation.

Nous pouvons importer ces fichiers de différentes manières, jusqu'à présent, j'ai expérimenté de cette façon:

application angulaire: xxx

pour chaque dossier Avec dans les fichiers d'un plugin, j'ai créé un fichier exiger.js et y a besoin de tous les fichiers de ce dossier. Comme: xxx

, puis nécessitent tous les fichiers nécessiter.js dans un fichier unique appelé app.js qui sera générer le bundle.js

question:

Ce moyen d'exiger que les fichiers puissent être une bonne structure, ou avoir un problème quand je dois tester? J'aimerais voir votre moyen d'obtenir une bonne structure avec angulaire et naviguer sur


0 commentaires

4 Réponses :


5
votes

Angularjs et la navigation de navigation ne sont pas, malheureusement, un excellent match. Certainement pas comme réagir et naviguer, mais je me digresse.

Qu'est-ce qui a fonctionné pour moi est d'avoir chaque fichier en tant que module angularjs (car chaque fichier est déjà un module communjs) et que les fichiers exportent leur nom de module angularjs. P >

Votre exemple ressemblerait à ce que ceci: p> xxx pré>

app.js code> ressemblerait à ceci: p>

var angular = require('angular');
var app = angular.module('mnm.follow.controllers', [
  require('./services'), // internal dependency
  'ui.router' // external dependency from earlier require or <script/>
  // more dependencies ...
]);
app.controller('FollowController', ['$scope', 'FollowService', function ...]);
// more code here
module.exports = app.name;


4 commentaires

Cela fonctionne parfaitement - merci d'avoir traversé le temps pour faire cela. J'ai réussi à faire quelque chose de très similaire avec Exigence.js et vous m'avez aidé à passer de cette folie AMD: D


@ALANPLUM WOW Pas étonnant que vous n'aimez pas la navigation de navigation avec des mélanges angulaires. C'est un code fou, pas un bon motif. Pas besoin de module.exports ni à la mise en oeuvre dans les instanciations de module angulaire ... Consultez ceci pour un meilleur modèle à l'aide d'angularjs et de naviguer sur la navigation GITUB.COM/SWEETOG/YET-Another-angular-Boxer


Une fois que vous les ajoutez aux bonnes listes, vous n'avez jamais besoin de les ajouter à nouveau de les ajouter, et la chaudière n'est pas à tous les fichiers, juste des modules et un index.js par répertoire, car chaque répertoire est un module angulaire


@Alanplum "angularjs Vous polluez déjà des globaux globaux, donc je suppose que les modules à base d'effets purement latéraux sont le moindre de vos problèmes architecturaux." Total dramatique BS, oh non angulaire et fenêtre sont des variables globales oh mon dieu, mon architecture est un dialier !! lol je pense que votre réponse est plus ego, aux points, que d'essayer d'avoir une réponse impartiale



0
votes

J'essayais d'utiliser la navigation de navigation avec angulaire mais que vous avez trouvé un peu désordonné. Je n'ai pas aimé le modèle de création d'un service / contrôleur nommé nécessitant à un autre emplacement, par exemple

angular.module('myApp').controller('charts', require('./charts'));


1 commentaires

Je vous vote, car vous avez fait un bon travail avec ce plugin (je n'ai pas essayé mais aussi bien) mais je resterais avec la navigation de navigation.



0
votes

J'ai utilisé une approche hybride beaucoup comme Pluma . J'ai créé des modules NG, comme:

angular.module(name, [])
//  .service('srvc', ['$rootScope', '$http', require( './path/to/srvc' ))
  .service('srvc', ['$rootScope', '$http', require( './path/to/mockSrvc' ))


0 commentaires

0
votes

La réponse d'Alan Plum n'est tout simplement pas une bonne réponse ou du moins pas une excellente démonstration de modules de commonjs et de naviguer avec angulaire. La prétention selon laquelle la navigation ne se mélange pas bien avec angulaire par rapport à la réaction n'est tout simplement pas vraie.

Browserify et un motif de module Commoncé fonctionnent bien avec angular, vous permettant d'organiser par des fonctionnalités à la place des types, gardez VARS hors de portée globale et partagez facilement des modules angulaires sur des applications. Ne pas mentionner que vous n'avez pas besoin d'ajouter un seul