mirror of
https://github.com/koodiklinikka/koodiklinikka.fi.git
synced 2026-02-07 22:50:09 +00:00
2ac09dba69144417838ae86b948132065d5dfd3a
Project template for gulp.js
What it does
- Jade files to HTML
- Stylus files to CSS
- ES6+ JavaScript files to ES5 Javascript through browserify
- You are able to use 'require' in your client-side code
- Serves your static files to localhost:9001
- Reloads your browser with LiveReload when files change
Getting things up and running
- Install Node.js
git clone git@github.com:leonidas/gulp-project-template.git <your project name>
cd <your project name>
npm install
npm start
open http://localhost:9001 in your browser
CLI Commands
- npm install
- Installs server-side dependencies from NPM and client-side dependencies from Bower
- npm start
- Compiles your files, starts watching files for changes, serves static files to port 9001
- npm run build
- Builds everything
Production build
Minification, uglification and other tasks you're expected to run before deploying your product can be made by running the build command with env variable NODE_ENV set to "production"
NODE_ENV=production npm run build
Development guidelines
Directory structure
public - directory should be dedicated only to compiled/copied files from src - directory. It should be possible to delete directory completely and after npm start or npm run build everything should be as they were before the deletion.
Dependencies
All dependencies are meant to be installed with bower or with npm.
- JavaScript-files from both bower_components and node_modules can be require()'d in client-side modules.
- CSS files can be imported from bower_components and node_modules using relative path from the stylus file to the css file e.g
@import '../../bower_components/bootstrap/dist/css/bootstrap.css' - You can either create a new gulp task for copying other assets from directories mentioned above or use an array as a value for assets sources e.g
source: ['./src/assets/**/*.*', 'bower_components/bootstrap/fonts*/*.*'](notice the asterisk after 'fonts'? It makes gulp copy the whole directory instead of just the files inside of it)
Suggested development tools
- eslint
- When used as an editor plugin (for example. SublimeLinter + SublimeLinter-eslint), gives you immediate feedback about your code and can find bugs, potential problem areas, poor coding styles and stylistic issues.
FAQ
I want to use CoffeeScript instead of JavaScript
Check out the coffee branch
Description
Languages
TypeScript
86%
CSS
12.2%
JavaScript
1.8%