javascript - grunt-babel 破坏文件格式(换行和空格)

标签 javascript gruntjs babeljs grunt-babel

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

在 babel 之前:

(function() {
    'use strict';

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

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

    function Ctrl($stateParams) {

    }
})();

继 babel 之后:

(function () {
    'use strict';

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

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

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

我的繁重任务如下所示:

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

请注意,babel 删除了空白行,添加/删除了破坏以前格式的空格。

有什么方法可以避免这种情况并保留我的格式吗?

最佳答案

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

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

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

关于javascript - grunt-babel 破坏文件格式(换行和空格),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32441620/

相关文章:

javascript - 在循环中使用 q promise 的最佳方法是什么?在迭代到下一个之前等待链完成

javascript - 无法在 angular6 中设置数组属性

javascript - 组装:如何从 json/yaml 生成页面?

plugins - 巴别塔 : replaceWithSourceString giving Unexpected token (1:1)

javascript - 当输入通过管道传输时,Babel CLI 会忽略配置

javascript - 使用 onclick 事件附加部分

javascript - Backbone 中的路由器分离

gruntjs - Gruntfile 失败并出现警告 : Task "taskname" not found

javascript - 如何从 grunt 模板正确访问用户的主目录?

javascript - 添加 react 原生矢量图标以 react 原生与 react 原生网络时出错