自动编译CoffeeScript的Gruntfile.js

比如把coffee文件写在coffee/controller/文件夹下,新建js/controller文件夹,使用grunt运行项目,将自动编译coffee到相应的js文件夹下。

module.exports = function(grunt) {

  // 项目配置信息.

  grunt.initConfig({

    pkg: grunt.file.readJSON('package.json'),

    jshint: {

      options : {

        jshintrc: '.jshintrc',

        // eqeqeq: true,

        // tradiling: true,

        ignores: ['node_modules/**/*.js']

      },

      all: ['**/*.js']

    },

    coffee:{

      compile: {

        options: {

          sourceMap: false,

          bare: true

        },

        files: [{

          expand: true,

          cwd: "coffee/",

          src: '**/*.coffee',

          dest: 'js/',

          ext: '.js'

        }]

      }

    },

    watch: {

      coffee: {

        files: ['**/*.coffee'],

        tasks: ['coffee:compile']

      // },

      // js: {

      //   files: ['**/*.js'],

      //   tasks: ['jshint'],

      //   options: {

      //     livereload: true

      //   }

      }

    },

    nodemon: {

      dev: {

        script: 'bin/www',

        options: {

          args: [],

          ignoredFiles: [],

          watchedExtensions: ['js'],

          watchedFolders: ['./'],

          debug: true,

          delayTime: 1,

          env: {

            PORT: 3000

          },

          cwd: __dirname

        }

      }

    },

    concurrent: {

      tasks: ['watch','nodemon'],

      options: {

        logConcurrentOutput: true

      }

    }

  });

  // 加载"uglify"插件..

  grunt.loadNpmTasks('grunt-contrib-watch');

  grunt.loadNpmTasks('grunt-contrib-coffee');

  grunt.loadNpmTasks('grunt-contrib-jshint');

  grunt.loadNpmTasks('grunt-nodemon');

  grunt.loadNpmTasks('grunt-concurrent');

  //grunt.loadNpmTasks('grunt-ssh');



  grunt.option('force', true);



  // 注册默认任务.

  grunt.registerTask('default', ['concurrent']);

};

 

你可能感兴趣的:(coffeescrip)