mn-gulp
v0.4.1
Published
A configurable gulp builder.
Maintainers
Readme
MN-Gulp Sample
My personal project for rapid SPA development. It's based on making GUI components in an MV* style.
What's in the goodie bag?
- Angularjs without the ng-controller crap. Everything is a directive.
- Browserify to automate the setup of directives. No reason for lazy coding any more.
- Express static file server included. You can extend it as needed.
- Gulp has a config that you can override and extend with more tasks.
- Live reload via gulp. Hit save and let magic happen. Even the server restarts.
#Setup ##Install
npm install -g gulpif needed. (Pro tip: Google on how to avoid global npm packages.)- Copy the
sample-projectcontent to your root directory. npm install.
##.gitignore
- Rename
.npmignoreto.gitignore.
##package.json
- Replace all the
[...]markers with correct values.
##gulpfile.js ###config
You may replace a key in the config object and send in a partial config to mn-gulp.
Lodash#assign is used to override the default config.
- Copy the content of
gulp/config/index.jsinto yourgulpfile.js. - Remove all config keys you want as default.
- Reformat the config keys you want to change.
- send in your config object as the second parameter into mn-gulp.
##Routing Uses angular-ui router.
- See
client/config.jsfor sample code. - Add new routes by adding a section in
client/config.js. - Add new pages in
ui-viewsby copy pasting an existing. - If you need a controller for your page, then imitate the component controllers.
##Client components Uses angular and browserify to make a resuable angular directive.
- Copy and paste
client/components/mn-authenticationcontent into a new foldershortnamespace-component. - Update
template.html. - Update
controller.js. - Update
repository.js. - Add or remove files from
index.jsas they are / are not needed. - Use components in your
ui-viewtemplate.htmlfiles.
#Running locally ##Gulp tasks
- Run
gulp buildto build todist/. Also runs onnpm postinstall. - Run
gulp watchto start the live reload server indist/server/. Also works withnpm start. gulp/subtasks/andgulp/bundleHelper/are used internally bygulp/tasks/.gulp/tasks/lists all callable gulp tasks and should be your reference point. Check the code!
#Hosting on Firebase
- Create a project on firebase.com with static hosting for your client.
- Replace the
[...]with your project name. - Globally install the firebase CLI via npm.
- Build the project with gulp.
cd dist/firebase deploy- Done! Go to your site.
#Known issues
- When the server reloads, the client needs to be automatically refreshed.
