Модуль импорта машинописного текста для импорта минимизированной версии js

При использовании Typescript (v0.8.3) с Visual Studio + Web Essentials я настроил Web Essentials на использование флага компилятора модуля AMD, а также минимизировал сгенерированный JS.

введите здесь описание изображения

В моем AppMain.ts я импортировал модуль, используя ключевое слово import

/// <reference path="./../modules/jquery.d.ts" />
import main = module('classes/facebook');

export class AppMain {
    public run() {
        $(()=>{
            var app = new facebook.App();
            app.start();
        });
    }
}

И сгенерированный JS выглядит следующим образом

define(["require", "exports", 'classes/facebook'], function(require, exports, __main__) {
    var main = __main__;

    var AppMain = (function () {
        function AppMain() { }
        AppMain.prototype.run = function () {
            $(function () {
                var app = new facebook.App();
                app.start();
            });
        };
        return AppMain;
    })();
    exports.AppMain = AppMain;    
})

Мой вопрос: как мне получить сгенерированный код requirejs для загрузки * .min? Поскольку Web Essentials уже сгенерировала минифицированную версию JS-файла.

Например. Что из того, что я хочу от сгенерированного файла JS:

define(["require", "exports", 'classes/facebook.min'], function(require, exports, __main__)

Изменить: у меня много модулей, поэтому я бы предпочел способ, который доставляет мне меньше головной боли.


person Andy    schedule 29.05.2013    source источник


Ответы (2)


Я бы рекомендовал вам не использовать эти мини-файлы и использовать r.js для слияния с последующим отдельным конвейером минимизации, когда вы используете RequireJS для начала.

Это также избавит вас от головной боли при отладке вашего приложения, поскольку вы можете легко отлаживать не минимизированный js.

person basarat    schedule 29.05.2013

Вам нужно добавить некоторую конфигурацию RequireJS, чтобы попросить ее заменить уменьшенную версию библиотеки:

requirejs.config({
    enforceDefine: true,
    paths: {
        facebook: [
            'lib/facebook.min',
            'lib/facebook'
        ]
    }
});
person Fenton    schedule 29.05.2013
comment
У меня слишком много модулей, и я слишком часто буду поддерживать requirejs.config. - person Andy; 29.05.2013