鍍金池/ 問(wèn)答/HTML5  PHP  HTML/ grunt 運(yùn)行babel 總是報(bào)錯(cuò),scss轉(zhuǎn)css可以成功,求各位哥哥指教

grunt 運(yùn)行babel 總是報(bào)錯(cuò),scss轉(zhuǎn)css可以成功,求各位哥哥指教

gruntfile.js

module.exports = function (grunt) {

// Project configuration.
grunt.initConfig({
    //Read the package.json (optional)
    pkg: grunt.file.readJSON('package.json'),
    // Metadata.
    meta: {
        srcJsPath: './static/js/',
        srcSassPath: './static/css/',
        srcImgPath: './static/images/',
        distPath: './static/dist/'
    },
    //babel
    babel: {
        options: {
            sourceMap: true,
            presets: ['env']
        },
        dist: {
            files: [{
                expand:true,
                cwd:'static/js/', //js目錄下
                src: '*.js', //所有js文件
                dest:'static/dist/'  //輸出到此目錄下
            }]
        }
    },
    // sass
    sass: {
        dist: {
            options: {
                style: 'compressed',
                sourcemap: 'none'
            },
            files: [
                {'<%= meta.distPath %>nav_list.css': '<%= meta.srcSassPath %>nav_list.scss'},
            ]
        }
    },
    watch: {
        build: {
            files: [
                '<%= meta.srcJsPath %>*.js', '<%= meta.srcSassPath %>*.scss',
            ],
            tasks: ['sass']
        }
    }
});
grunt.loadNpmTasks('grunt-babel');
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-watch');

// 默認(rèn)被執(zhí)行的任務(wù)列表。
grunt.registerTask('default', ['sass', 'babel', 'watch']);

};

項(xiàng)目目錄是這樣的

clipboard.png

運(yùn)行g(shù)runt 總報(bào)錯(cuò)

clipboard.png

scss可以轉(zhuǎn)換成功,es6轉(zhuǎn)es5不能成功
clipboard.png

回答
編輯回答
安于心

沒(méi)有用 grunt 結(jié)合 babel 編譯過(guò)代碼,不過(guò)從錯(cuò)誤信息看來(lái),應(yīng)該是沒(méi)有找到 env 這個(gè) babel preset。你的 babel 配置項(xiàng)中指定了

babel: {
        options: {
            sourceMap: true,
            presets: ['env']
        },
        ...
    }

試試先安裝一下 babel-preset-env

npm install babel-preset-env --save-dev

我推測(cè)的,希望有幫助

2017年9月30日 22:54