2

タスクは次のとおりです。

var gulp = require('gulp'),
    clean = require('gulp-clean'),
    copy = require('gulp-copy'),
    sass = require('gulp-sass'),
    concat = require('gulp-concat'),
    sourcemaps = require('gulp-sourcemaps'),
    uglify = require('gulp-uglify'),
    babel = require('gulp-babel'),
    jshint = require('gulp-jshint'),
    stylish = require('jshint-stylish'),
    Server = require('karma').Server,
    _ = require('lodash');

gulp.task('js-build', ['copy-iso'], function(){
    return gulp.src(['client/src/application.js', 'client/src/**/*.js'])
        .pipe(sourcemaps.init())
        .pipe(babel({
            presets: ['es2015']
        }))
        .pipe(sourcemaps.write('.', {
            sourceRoot: '/src',
            includeContent: false
        }))
        .pipe(gulp.dest('./client/build'));
});

基本的に、これは時々間違ってマップするソースマップを生成しています。私がテストする方法は、クロムにロードし、開発ツールを開き、ブレークポイントを追加しようとすることです. 次に例を示します。

ソース:

(function () {
        'use strict';

        angular
            .module('core')
            .filter('phoneNumberFormat', phoneNumberFormat);

        function phoneNumberFormat() {
            return phoneNumberFilter;

            function phoneNumberFilter(number) {
                /* 
                @param {Number | String} number - Number that will be formatted as telephone number
                Returns formatted number: (###) ###-####
                    else if number.length < 7: (###) ###

                Does not handle country codes that are not '1' (USA)
                */
                if (!number) { return ''; }

                number = number.toString().replace(/[^0-9]+/g, '');

                var formattedNumber = '';

                // if the first character is '1', strip it out and add it back
                var c = (number[0] == '1') ? '1 ' : '';
                number = number[0] == '1' ? number.slice(1) : number;

                // # (###) ###-#### as c (area) front-end
                var area = number.substring(0, 3);
                area = area.length > 0 ? area.length == 3 ? "(" + area + ") " : "(" + area : '';

                var front = number.substring(3, 6);
                front = front + (front.length == 3 ? '-' : '');

                var end = number.substring(6, 10);

                formattedNumber = c + area + front + end;
                return formattedNumber;
            }
        }
    })();

構築:

'use strict';

(function () {
            'use strict';

            angular.module('core').filter('phoneNumberFormat', phoneNumberFormat);

            function phoneNumberFormat() {
                        return phoneNumberFilter;

                        function phoneNumberFilter(number) {
                                    /* 
                                    @param {Number | String} number - Number that will be formatted as telephone number
                                    Returns formatted number: (###) ###-####
                                        else if number.length < 7: (###) ###
                                      Does not handle country codes that are not '1' (USA)
                                    */
                                    if (!number) {
                                                return '';
                                    }

                                    number = number.toString().replace(/[^0-9]+/g, '');

                                    var formattedNumber = '';

                                    // if the first character is '1', strip it out and add it back
                                    var c = number[0] == '1' ? '1 ' : '';
                                    number = number[0] == '1' ? number.slice(1) : number;

                                    // # (###) ###-#### as c (area) front-end
                                    var area = number.substring(0, 3);
                                    area = area.length > 0 ? area.length == 3 ? "(" + area + ") " : "(" + area : '';

                                    var front = number.substring(3, 6);
                                    front = front + (front.length == 3 ? '-' : '');

                                    var end = number.substring(6, 10);

                                    formattedNumber = c + area + front + end;
                                    return formattedNumber;
                        }
            }
})();
//# sourceMappingURL=phone-number.filter.js.map

両者はほぼ同じであることがわかります。それでも、行にブレークポイントを配置できません。

return phoneNumberFilter;  

(ブレークポイントをソースまたはビルド ファイルに配置する) と、その下の行にリダイレクトされます ( function phoneNumberFilter(number) {)。

これらの奇妙なリダイレクトは、ほぼすべてのファイルに表示され続け、韻や理由を見つけることができないようです. 時々、スコープ関数の最後に行をリダイレクトすることがあります... idk。

前もって感謝します。

4

0 に答える 0