2017-02-23 6 views
0

Ich habe 3 Typoskript Dateien: main.ts, print.ts, log.tsTyposkript erfordern nicht funktioniert

I Knotenmodule installiert und verwendet Typoskript Compiler - tsc main.ts - Dateien zu kompilieren .ts. Danach habe ich versucht, index.html mit npm start ausführen, aber console.log sagt Require ist nicht definiert. Fehle ich noch etwas? Ich benutze Visual Studio Code-Editor.

INDEX.HTML

<!DOCTYPE html> 
<html lang="en"> 
<head> 

<meta charset="UTF-8"> 
<title>this is the title</title> 

<style type="text/css"> 

</style> 

</head> 

<body> 

<div id="wrapper"> 
</div> 

<script type='text/javascript' src='main.js'></script> 

</body> 

</html> 

MAIN.TS

import log = require('./log') 
import print = require('./print') 
log.logMessage(); 
print.printMessage(); 

PRINT.TS

export function printMessage() { 
    console.log('print'); 
} 

LOG.TS

export function logMessage() { 
    console.log('log'); 
} 

console.log sollte sagen, 'log' und 'print', aber es funktioniert nicht.

+0

wenn Sie die Funktion exportieren Sie ihn direkt anrufen können. Versuchen Sie es in Ihrem main.ts: log(); und drucken(); – z0r0

+0

Ich denke, Sie wollen entweder 'const log = require ('./ log');' oder 'log von './log' importieren;'. Ich wäre überrascht, wenn das nicht irgendwo einen Fehler aufwerfen würde. –

+0

Ja in Typoskript, das Sie tun: Importieren Sie {logMessage} aus "./log"; ohne require – z0r0

Antwort

0

Ihr Code ist in Ordnung. Der wichtige Teil Ihrer Frage ist

aber console.log sagt erfordern nicht definiert

require wird in Knoten des Modulsystem, genannt Commonjs verwendet. Browser verstehen dieses System standardmäßig nicht. Sie haben einen Bündler zu verwenden, wie webpack oder fuse-box

Typoskript kann nicht wirklich Ihre Anwendung bündeln: -/

Verwandte Themen