Your arguments are making perfect sense to me. Paul and Adam, many thanks
for sharing your thoughts!
On Wednesday, 21 January 2015 23:15:34 UTC+1, Paul Everitt wrote:
>
>
>
> On Wednesday, January 21, 2015 at 7:52:11 AM UTC-5, Daniel Lidström wrote:
>>
>> Hi Adam
>>
>> May I ask what problems you are solving with RequireJS and putting each
>> file in its own Angular module? Even 170 source files could be bundled,
>> minimized, compressed, and loaded up front, don't you think? And why so
>> many modules? I'm just being curious.
>>
>
> I will give my two cents on this. Some the same as Adam's response.
>
> Ben Clinkinbeard (author of this PR) has been promoting a style of Angular
> development which I have a adopted to great effect in my larger projects.
> Like other style guides (John Papa, Todd Motta) I have subdirectories for
> each component (e.g. src/auth) rather than each Angular concept (e.g.
> src/controllers). Each of these component is its own Angular module. But
> each are also standalone CommonJS/NodeJS modules with an index.js to setup
> the component. Each file in the component has a require() for its
> dependencies. browserify can then walk the tree and bundle everything up.
>
> The fun part, though, is that Angular only appears in the component's
> index.js file. My services, controllers, etc. don't do anything like
> angular.module('my component').service('MyService', MyService). They are
> pure NodeJS files. I can then test them with Mocha, use require() for
> dependencies. Basically, future-proof them and gain a tremendous
> productivity speedup. By breaking things up like this, and *especially* by
> not hauling in Angular, mocking the $injector and module() in my unit
> tests, and running through Karma, I feel like I am not squashed by the
> magic.
>
> There are some unit tests that still need Angular, though. Like
> directives, or the wiring in index.js, or my ui-router states. Ben's
> angular-node npm package tries to address this by using jsdom when you are
> in a NodeJS context.
>
--
You received this message because you are subscribed to the Google Groups
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.