Embed presentation















![root = true![*]indent_style = spaceindent_size = 2trim_trailing_whitespace = true![*.md]trim_trailing_whitespace = false.editorconfig](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fslide-150606063133-lva1-app6891%2f75%2fJavaScript-16-2048.jpg&f=jpg&w=240)




























![module.exports = function(grunt) {grunt.initConfig({coffee: {compile: {files: {'./a.js': './a.coffee'}}}});!grunt.loadNpmTasks('grunt-contrib-coffee');grunt.registerTask('build', ['coffee']);};Gruntfile.js](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fslide-150606063133-lva1-app6891%2f75%2fJavaScript-45-2048.jpg&f=jpg&w=240)
![var gulp = require('gulp');var coffee = require('gulp-coffee');!gulp.task('coffee', function() {return gulp.src(['./a.coffee']).pipe(coffee()).pipe(gulp.dest('./'));});!gulp.task('build', ['coffee']);Gulpfile.js](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fslide-150606063133-lva1-app6891%2f75%2fJavaScript-46-2048.jpg&f=jpg&w=240)
![gulp.src(['./a.coffee']).pipe(coffee()).pipe(uglify()).pipe(rename('a.min.js')).pipe(gulp.dest('./'));Gulpfile.js](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fslide-150606063133-lva1-app6891%2f75%2fJavaScript-47-2048.jpg&f=jpg&w=240)


















![.eslintrc{"parser": "babel-eslint","rules": {"quotes": [1, "single"],"no-var": 2,...},"env": {"browser": true,...}}](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fslide-150606063133-lva1-app6891%2f75%2fJavaScript-66-2048.jpg&f=jpg&w=240)



















![mocha test.js // power-assertsh…# test.js:6!assert(1 + 1 === 3)| |2 false![number] 3=> 3[number] 1 + 1=> 2](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fslide-150606063133-lva1-app6891%2f75%2fJavaScript-86-2048.jpg&f=jpg&w=240)























The document discusses various JavaScript tools and techniques. It covers topics like transpilers like CoffeeScript and Babel, module bundlers like Browserify, task runners like Grunt and Gulp, linting with ESLint, unit testing with Mocha and Assertions, MV patterns like Flux, and components with React. It provides links to documentation and resources for learning more about each topic.















![root = true![*]indent_style = spaceindent_size = 2trim_trailing_whitespace = true![*.md]trim_trailing_whitespace = false.editorconfig](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fslide-150606063133-lva1-app6891%2f75%2fJavaScript-16-2048.jpg&f=jpg&w=240)




























![module.exports = function(grunt) {grunt.initConfig({coffee: {compile: {files: {'./a.js': './a.coffee'}}}});!grunt.loadNpmTasks('grunt-contrib-coffee');grunt.registerTask('build', ['coffee']);};Gruntfile.js](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fslide-150606063133-lva1-app6891%2f75%2fJavaScript-45-2048.jpg&f=jpg&w=240)
![var gulp = require('gulp');var coffee = require('gulp-coffee');!gulp.task('coffee', function() {return gulp.src(['./a.coffee']).pipe(coffee()).pipe(gulp.dest('./'));});!gulp.task('build', ['coffee']);Gulpfile.js](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fslide-150606063133-lva1-app6891%2f75%2fJavaScript-46-2048.jpg&f=jpg&w=240)
![gulp.src(['./a.coffee']).pipe(coffee()).pipe(uglify()).pipe(rename('a.min.js')).pipe(gulp.dest('./'));Gulpfile.js](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fslide-150606063133-lva1-app6891%2f75%2fJavaScript-47-2048.jpg&f=jpg&w=240)


















![.eslintrc{"parser": "babel-eslint","rules": {"quotes": [1, "single"],"no-var": 2,...},"env": {"browser": true,...}}](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fslide-150606063133-lva1-app6891%2f75%2fJavaScript-66-2048.jpg&f=jpg&w=240)



















![mocha test.js // power-assertsh…# test.js:6!assert(1 + 1 === 3)| |2 false![number] 3=> 3[number] 1 + 1=> 2](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fslide-150606063133-lva1-app6891%2f75%2fJavaScript-86-2048.jpg&f=jpg&w=240)





















