2017-03-31 1 views
0

그랑트로 프로젝트를하고 있습니다. 이 프로젝트는 dev와 build의 두 부분으로 구성됩니다. dev 부분에는 아무런 문제가 없지만 빌드 부분에 오류가 있습니다.이 오류를 수정하는 방법 : Grunt 빌드를 찾을 수 없습니다. 계속하려면 --force를 사용하십시오.

그리고 내 gruntfiles.js 파일에 심각한 문제가 있다고 생각합니다. 여기

그것의 내용이다 :

module.exports = function(grunt) { 

    // Project configuration. 
    grunt.initConfig({ 
    pkg: grunt.file.readJSON('package.json'), 

    // define reusable paths 
    paths: { 
     app: 'app', 
     dist: 'dist', 
     app_css:'<%= paths.app %>/css', 
     app_js:'<%= paths.app %>/js', 
     app_img: '<%= paths.img %>/img' 
     source_scss: '<%= paths.app %>/src/scss', 
     source_js: '<%= paths.app %>/src/js', 
     source_bower: '<%= paths.app %>/src/bower', 
     dist_css: '<%= paths.dist %>/css', 
     dist_js: '<%= paths.dist %>/js', 
     dist_img: '<%= paths.dist %>/img' 
    }, 

    sass: { 
     dev: { 
      options: { 
       outputStyle: 'expanded', 
       sourceMap: false 
        }, 

      files: { 
       '<%= paths.app_css %>/styles.css': '<%= paths.source_scss %>/app.scss' 
        } 
      }, 

     build: { 
      options: { 
       outputStyle: 'compressed', 
       sourceMap: false 
      }, 
      files: { 
       '<%= paths.dist_css %>/styles.css': '<%= paths.app_scss %>/styles.scss' 
        } 
       } 
     }, 


    browserSync: { 
     files: { 
      src: ['<%= paths.app_css %>/*.css', '<%= paths.app_js %>/*.js', '<%= paths.app %>/*.html'] 
     }, 
     options: { 
      browser: 'firefox', 
      server: '<%= paths.app %>', 
      watchTask: true 
     } 
    }, 

    watch: { 
     sass: { 
      files: ['<%= paths.source_scss %>/**/*.scss'], 
      tasks: ['sass:dev', 'concat:css'] 
     }, 
     js: { 
      files: ['<%= paths.source_js %>/*.js'], 
      tasks: ['jshint', 'uglify:dev'] 
     } 
    }, 

    jshint: { 
     dev: { 
      files: { 
       src: '<%= paths.source_js %>/*.js' 
      } 
     }, 
     options: { 
      reporter: require('jshint-stylish') 
     } 
    }, 

    bower: { 
     dev: { 
      dest: '<%= paths.source_bower %>', 
      js_dest: '<%= paths.source_bower %>/js', 
      css_dest: '<%= paths.source_bower %>/styles' 
     } 
    }, 

    copy: { 

     html: { 
      expand: true, 
      cwd: '<%= paths.app %>', 
      src: '*.html', 
      dest: '<$= paths.dist $>/', 
      options: { 
       process: function(content, srcpath){ 
        return content.replace('scripts.js', 'scripts.min.js') 
                } 
        } 
       } 

     }, 

    clean: { 
     dist: { 
      src: '<%= paths.dist %>/css' 
      } 
    }, 

    imagemin: { 
     build: { 
      files: [ 
       { 
        expand: true, 
        cwd: '<%= paths.app_img %>', 
        src: ['<%= **/*.{png,jpg,gif,svg,ico}'], 
        dest: '<%= paths.dist_img %>' 
       } 
        ] 
       } 
      }, 

    concat: { 
     css: { 
      src: ['<%= paths.app_css %>/styles.css', '<%= paths.source_bower %>/styles/**/*.css'], 
      dest: '<%= paths.app_css %>/styles.css' 
     } 
    }, 

    uglify: { 
     dev: { 
      options: { 
       beautify: true, 
       mangle: false, 
       compress: false, 
       preserveComments: 'all' 
      }, 
      src: ['<%= paths.source_js %>/*.js', '<%= paths.source_bower %>/js/**/*.js'], 
      dest: '<%= paths.app_js %>/scripts.js' 
      }, 
     build: { 
      src: ['<%= paths.source_js %>/*.js', '<%= paths.source_bower %>/js/**/*.js'], 
      dest: '<%= paths.dist_js %>/scripts.min.js' 
      } 

    } 

    }); 

    // Load the plugin that provides the "uglify" task. 

    // Browser sync 
    grunt.loadNpmTasks('grunt-browser-sync'); 

    // Sass 
    grunt.loadNpmTasks('grunt-sass'); 

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

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

    // Bower 
    grunt.loadNpmTasks('grunt-bower'); 

    grunt.loadNpmTasks('grunt-contrib-concat'); 
    grunt.loadNpmTasks('grunt-contrib-uglify'); 
    grunt.loadNpmTasks('grunt-contrib-imagemin'); 
    grunt.loadNpmTasks('grunt-contrib-copy'); 
    grunt.loadNpmTasks('grunt-contrib-clean'); 




    //Creat tasks 


    // Default task(s). 
    grunt.registerTask('default', ['browserSync', 'watch']); 
    grunt.registerTask('build', ['clean:dist', 'copy', 'imagemin', 'uglify:build', 'concat:css', 'sass:build']); 

}; 

그리고 여기 내 package.json 파일입니다

{ 
    "name": "dev", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "author": "", 
    "license": "ISC", 
    "devDependencies": { 
    "grunt": "^1.0.1", 
    "grunt-bower": "^0.21.4", 
    "grunt-browser-sync": "^2.2.0", 
    "grunt-contrib-clean": "^1.0.0", 
    "grunt-contrib-concat": "^1.0.1", 
    "grunt-contrib-copy": "^1.0.0", 
    "grunt-contrib-imagemin": "^1.0.1", 
    "grunt-contrib-jshint": "^1.1.0", 
    "grunt-contrib-uglify": "^2.2.0", 
    "grunt-contrib-watch": "^1.0.0", 
    "grunt-sass": "^2.0.0", 
    "jshint-stylish": "^2.2.1" 
    } 
} 

나는이 오류가있어

grunt build 

실행

Loading "gruntfile.js" tasks...ERROR 
    >> SyntaxError: Unexpected identifier 
    Warning: Task "build" not found. Use --force to continue. 

내 프로젝트 파일 :

├── css 
│   └── styles.css 
├── img 
│   └── Screenshot from 2017-03-31 22-23-33.png 
├── index.html 
├── js 
│   └── scripts.js 
├── src 
│   ├── bower 
│   │   ├── js 
│   │   │   └── dist 
│   │   │    └── jquery.js 
│   │   └── styles 
│   │    └── normalize.css 
│   ├── js 
│   │   └── scripts.js 
│   └── scss 
│    └── app.scss 
└── terminal.glue 

것은 당신이 날이 문제를 해결하는 데 도움이 시겠어요!

정말 고마워요! // define reusable paths paths: { app: 'app', dist: 'dist', app_css:'<%= paths.app %>/css', app_js:'<%= paths.app %>/js', app_img: '<%= paths.img %>/img' // <---------------------miss here source_scss: '<%= paths.app %>/src/scss', source_js: '<%= paths.app %>/src/js', source_bower: '<%= paths.app %>/src/bower',

시도 사용 jshint/jslint 편집기 또는 IDE와 같은 문제를 방지하기 위해 (등.) : 당신은 여기에 쉼표를 놓친 것 같다

+0

스택 오버플로에 오신 것을 환영합니다! 제 3 자 사이트뿐만 아니라 질문 자체에있는 모든 관련 코드를 [mcve]에 입력하십시오. –

+0

방금 ​​내 질문을 업데이트했습니다. –

답변

관련 문제