Управление пакетами машинопись

голоса
14

Похоже, машинопись имеет хороший модуль системы, однако делает это заменить потребность в чем-то вроде requirejs? Другими словами, когда вы «компиляции» пакет машинопись это обрабатывать все разрешения на зависимостях для вас? Примеры будут оценены!

Задан 03/10/2012 в 19:58
источник пользователем
На других языках...                            


3 ответов

голоса
16

Машинопись не имеет модуль выполнения загрузчика. Вы по-прежнему необходимо предоставить модуль загрузчик для использования во время выполнения, например, требует JS. Машинопись поддерживает генерации кода JavaScript совместим с любой CommonJS (для Node.js скриптов) и AMD загрузчики (например requireJS). Для того, чтобы указать, какой использовать пропуск в «--module» переключатель для компилятора либо с «ВМД» или «CommonJS».

Вот как экспортировать модуль в машинописном:

export module depModule { 
    export class A { 
    }
}

и вот сгенерированный код JavaScript с --module переключателем драм:

define(["require", "exports"], function(require, exports) {
    (function (depModule) {
        var A = (function () {
            function A() { }
            return A;
        })();
        depModule.A = A;
    })(exports.depModule || (exports.depModule = {}));
})
Ответил 03/10/2012 в 20:07
источник пользователем

голоса
3

Машинопись может испускать код, который будет работать как с AMD-совместимыми зависимостями погрузчиками, как requirejs или CommonJS среды, такими как узел. Вы можете управлять этим с --module опции для компилятора. Сам компилятор не обрабатывает зависимость разрешения во время выполнения, это до вас, чтобы работать, но это не зависимость попытки разрешать во время компиляции, поэтому он может дать вам информацию о типе.

Вы можете увидеть примеры проектов, использующих модули в тестовой директории на CodePlex, этот , например. Выход компиляции этих тестовых проектов являются .js файлы , которые будут загружаемый либо, например, requirejs (если вы передаете --module драм) или узел (если вы проходите --module CommonJS).

Ответил 03/10/2012 в 20:11
источник пользователем

голоса
2

Если ваша заявка будет состоять только машинопись модулей / файлы можно не использовать модуль погрузчиков или другое управление зависимостями. Вам нужно будет включать в себя все зависимости с комментариями ссылок и использовать --out опцию компилятора. Например:

tsc --out compiled.js app.ts

Это поместит в compiled.js сгенерированных JS для app.ts и всех его зависимостей, в том числе зависимостей зависимостей. Полученный файл затем может быть непосредственно включен в HTML файл с тэгом. Она также может быть минимизирована. Модуль загрузки во время выполнения не поддерживается

Ответил 04/10/2012 в 19:46
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more