Χρησιμοποιήστε γραφομηχανή compiler από τον κόμβο

ψήφοι
10

Είναι αρκετά εύκολο να το κάνουμε αυτό με καφέ-σενάριο.

var coffee = require('coffee-script');
coffee.compile(a = 1);
//=> '(function() {\n  var a;\n\n  a = 1;\n\n}).call(this);\n'

Είναι ένας τρόπος για να γίνει αυτό με γραφομηχανή εκεί;

Επεξεργασία: Επίσης, δημοσιεύτηκε στο CodePlex

Δημοσιεύθηκε 04/10/2012 στις 15:39
πηγή χρήστη
Σε άλλες γλώσσες...                            


6 απαντήσεις

ψήφοι
9

Φαίνεται ότι στις μέρες μας υπάρχει μια απλούστερη λύση, μπορείτε να κάνετε:

let ts = require('typescript');
let source = ts.transpileModule('class Test {}', {}).outputText;

Αυτο εχει ως αποτελεσμα:

"use strict";
var Test = (function () {
    function Test() {
    }
    return Test;
}());
Απαντήθηκε 04/12/2015 στις 12:49
πηγή χρήστη

ψήφοι
8

καλύτερα απαιτούν θα μπορούσε να σας βοηθήσει να επιτευχθεί αυτό.

Σας επιτρέπει να απαιτούν () γραφομηχανή αρχεία - δεν απαιτείται προ-κατάρτιση - και ένα σωρό άλλες μορφές αρχείων (CoffeeScript, clojurescript, YAML, xml, κλπ)

require('better-require')();
var myModule = require('./mymodule.ts');

Αποκάλυψη: Έγραψα καλύτερα απαιτούν.

Απαντήθηκε 01/11/2012 στις 15:55
πηγή χρήστη

ψήφοι
8

Από ενότητα NPM γραφομηχανή που δεν εξάγει οποιαδήποτε δημόσια διεπαφή, ο μόνος τρόπος για να γίνει αυτό σήμερα είναι να εκτελέσει τη tscδιαδικασία.

var exec = require('child_process').exec;

var child = exec('tsc main.ts',
                function(error, stdout, stderr) {
                    console.log('stdout: ' + stdout);
                    console.log('stderr: ' + stderr);
                    if (error !== null) {
                      console.log('exec error: ' + error);
                    }
                });

Ένα ζήτημα έχει ανοίξει για να ζητήσουν δημόσια διεπαφή για τη μονάδα γραφομηχανή .

Απαντήθηκε 04/10/2012 στις 16:16
πηγή χρήστη

ψήφοι
6

Ελέγξτε αυτό το έργο GitHub από niutech, μπορεί να μετατρέψει τον κωδικό γραφομηχανή για να κώδικα JS on the fly στο πρόγραμμα περιήγησης , αλλά υποθέτω ότι μπορεί εύκολα να τροποποιηθεί για να εργαστούν σε node.js.

Το βρήκα ενώ είμαι διερεύνηση της δυνατότητας γραφομηχανή υποστήριξης στον τομέα των ζώντων, μου firebug εμπνευσμένη επεξεργασίας κώδικα .

Απαντήθηκε 07/10/2012 στις 07:44
πηγή χρήστη

ψήφοι
4

Δεν απαντώντας στην ερώτηση άμεσα, αλλά από Googling για «τρέχει γραφομηχανή από τον κόμβο άμεσα» φέρνει αυτή τη σελίδα StackOverflow, μπορώ να καταλάβω ήθελα να προσθέσω ότι είστε σε θέση να το κάνουμε αυτό με το ts-κόμβο: https://github.com/TypeStrong / ts-κόμβο

Απαντήθηκε 15/01/2016 στις 17:16
πηγή χρήστη

ψήφοι
0

Επίσημη τεκμηρίωση σχετικά με το πώς να χρησιμοποιήσετε γραφομηχανή transpiler API για τη δημιουργία κώδικα JavaScript από ένα αρχείο .ts:

https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#user-content-transpiling-a-single-file

Επίσημη τεκμηρίωση σχετικά με το πώς να χρησιμοποιήσετε γραφομηχανή μεταγλωττιστή API για να καταρτίσει ένα .ts αρχείο ή ένα έργο TS για να

https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#user-content-a-minimal-compiler

(Η τελευταία δεν απαντά στο αρχικό ερώτημα, αλλά είναι πολύ κοινό στην πρόσβαση / τροποποίηση της AST και, στη συνέχεια, transpile ένστασης γλώσσα, έτσι θα μπορούσε να είναι χρήσιμο)

Απαντήθηκε 09/05/2018 στις 05:52
πηγή χρήστη

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