2

我刚刚开始在我的应用程序中使用带有grunt-babel 的 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 删除了空白行,添加/删除了破坏先前格式的空格。

有什么办法可以避免这种情况并保持我的格式?

4

1 回答 1

2

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

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

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

于 2015-09-07T15:58:25.787 回答