使用Gulp和require.js使用特定区域设置的minifined moment.js文件?

时间:2015-09-25 12:05:58

标签: requirejs gulp locale momentjs

当您从Bower获得moment.js库时,会有这些缩小的包:

  • moment.min.js - 没有区域设置
  • moment-with-locales.min.js - 包含所有区域设置(仍然是非常大的文件)

我的目标是使用moment.js创建一个缩小的Gulp文件,其中包含我需要的区域设置。这是我的Gulp代码:

var config = {
    //...
    moment: 'bower_components/moment/moment.js',
    momentLt: 'bower_components/moment/locale/lt.js',
}

gulp.task('vendor', ['clean-vendor', 'bower'], function () {        
    gulp.src([config.moment, config.momentLt]).
        pipe(concat('moment-custom.js')).
        pipe(rename({suffix: '.min'})).
        pipe(uglify()).
        pipe(gulp.dest('vendor/moment'));

});

文件被合并并缩小成功。当我尝试使用require.js加载此文件时,它已成功加载

require.config({
    paths: {
        "jquery": "vendor/jquery/jquery.min",
        "moment": "vendor/moment/moment-custom.min",
    }
});

(TypeScript)

import $ = require("jquery");
import moment = require("moment");

moment;

(JavaScript的)

define(["require", "jquery", "moment"], function (require, $, moment) {
        moment;
}

但是语言环境无效:

moment().locale(); => en
moment().locale('lt');
moment().locale(); => en

我的考虑因素:

  • 这是我的问题moment-custom.min.js文件吗?
  • 我是否使用require正确加载此文件?
  • 我应该仅为locale声明另一个require模块吗?

0 个答案:

没有答案