Vedení strojopisem balíček

hlasů
14

Vypadá to, strojopisem má pěkný systém modulů, nicméně to nahradit potřebu něco jako requirejs? Jinými slovy, když se „sestavit“ balíček typescript to zvládnout všechny řešení závislostí pro vás? Příkladem by ocenili!

Položena 03/10/2012 v 19:58
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
16

Strojopisem nemá runtime module loader. Stále budete muset poskytnout module loader používat za běhu, např vyžadují JS. Strojopisem podporuje generování kódu JavaScript kompatibilní s buď commonJS (pro Node.js skriptů) a AMD nakladače (např requireJS). Chcete-li určit, který z nich použít pas v „--module“ přepnout do překladače buď „AMD“ nebo „commonjs“.

Zde je, jak exportovat modulu na stroji:

export module depModule { 
    export class A { 
    }
}

a tady je vygenerován kód JavaScriptu s --module amd spínačem:

define(["require", "exports"], function(require, exports) {
    (function (depModule) {
        var A = (function () {
            function A() { }
            return A;
        })();
        depModule.A = A;
    })(exports.depModule || (exports.depModule = {}));
})
Odpovězeno 03/10/2012 v 20:07
zdroj uživatelem

hlasů
3

Strojopisem může emitovat kód, který bude pracovat s oběma AMD kompatibilní závislostí nakladačů jako requirejs nebo commonjs prostředích jako uzel. Můžete ovládat to s --module volby do překladače. Překladač sám nezpracovává závislost rozlišení za běhu, to je jen na vás, přijít, ale to pokus o řešení závislostí při kompilaci, takže to může dát zadat informace.

Můžete vidět příklady projektů, které používají moduly ve zkušebním adresáři na CodePlex, tenhle například. Výstup sestavování těchto testovacích projektů jsou JS soubory, které budou loadable buď například requirejs (pokud předat --module amd) nebo uzel (pokud předat --module commonjs).

Odpovězeno 03/10/2012 v 20:11
zdroj uživatelem

hlasů
2

Pokud vaše aplikace budou tvořit pouze strojopisem modules / souborů je možné, že nebude používat modul nakladače nebo jiné řízení závislostí. Budete muset zahrnovat všechny závislosti s komentáři odkazy a používat --out možnost kompilátoru. Např:

tsc --out compiled.js app.ts

To bude klást v compiled.js vygenerovaných JS pro app.ts a všechny jeho závislosti, včetně závislostí závislostí. Výsledný soubor pak může být přímo v HTML souboru s skriptu tag. To může také být minified. loading modul runtime není podporován

Odpovězeno 04/10/2012 v 19:46
zdroj uživatelem

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