TSC --module altijd genereert dezelfde output Ongeacht de redenering

stemmen
1

Ik ben vrij nieuw in Javascript, NodeJS en --obviously-- typoscript. Ik wil graag experimenteren met de compiler diensten src/services(Windows) om intellisense, etc. zorgen voor een editor.

Voor zover ik kan vertellen, moet ik in staat zijn om requirehet typoscript diensten code in een NodeJS server en te communiceren met die van de redactie. Ik kon het niet vinden geen NodeJS-specifieke typoscript diensten code, dus ik denk dat ik zou moeten maken van de diensten code compileren --module amdom het beschikbaar te NodeJS maken via RequireJS.

Als het bovenstaande juist is, mijn pogingen om de diensten code compileren met --module amdde opbrengst precies dezelfde resultaten als het gebruik van de standaard module natura (zie hieronder).

$ tsc.cmd --module amd --out amd.js .\languageService.ts
$ tsc.cmd --out comm.js .\languageService.ts
$ diff.exe .\amd.js .\comm.js
$
De vraag is gesteld op 02/10/2012 om 21:40
bron van user
In andere talen...                            


2 antwoorden

stemmen
2

Dit is weliswaar verwarrend, maar de code languageService.ts niet in een 'module' in de zin van de definitie van 'module' AMD / RequireJS's.

De specificatie verwijst naar dingen in een moduleblok als "interne modules". Dat is wat je te zien bent in languageService.ts. U kunt denken aan hen meer als containers of eenlingen die een top-level naam bloot te leggen (te kijken naar de code gen voor een eenvoudige interne module maakt dit duidelijk nogal wat). Je verbruikt deze als gewone top-level objecten zonder enige module loader at all.

Het produceren van externe modules (zoals genoemd door de spec) voor requirewordt gedaan door de invoering van de exportrichtlijn over een verklaring op het hoogste niveau in een Ts bestand (zie spec paragraaf 9.2.1). Er zijn enkele voorbeelden (bijv imageboard) beschikbaar om te downloaden die dit doen als je geïnteresseerd bent.

antwoordde op 02/10/2012 om 22:14
bron van user

stemmen
1

Je hebt je modules te hebben gedefinieerd als export module, niet je moduleen dan compileren met --m amdof --module amd.

Kostte me enkele uren te realiseren :)

antwoordde op 26/09/2013 om 20:36
bron van user

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