grunt-babel打破文件格式(新行和空格)

时间:2015-09-07 15:03:26

标签: javascript gruntjs babeljs grunt-babel

我刚开始在我的应用中使用babelgrunt-babel。但我遇到了一些我想避免的行为:

在巴贝尔之前

(function() {
    'use strict';

    angular
        .module('app')
        .controller('Ctrl', Ctrl);

    Ctrl.$inject = ['$stateParams'];

    function Ctrl($stateParams) {

    }
})();

巴贝尔之后

(function () {
    'use strict';

    angular.module('app.standingOrder').controller('Ctrl', Ctrl);

    Ctrl.$inject = ['$stateParams'];

    function Ctrl($stateParams) {}
})();

我的 grunt任务如下所示:

babel: {
    options: {
        sourceMap: false,
        blacklist: ['strict']
    },
    dist: {
        files: [
            {
                src: [ 'src/**/*.js' ],
                cwd: '<%= build_dir %>',
                dest: '<%= build_dir %>',
                expand: true
            }
        ]
    }
},

请注意,babel删除了空行,添加/删除了打破先前格式的空格。

有没有办法避免这种情况并保留格式?

1 个答案:

答案 0 :(得分:1)

retainLines选项会尝试保留您的行号。 https://babeljs.io/docs/usage/options/

我认为源地图可能是最好的选择,但它们需要更多的工作来管理。

您可以使用repl查看babel将会做什么https://babeljs.io/repl/