2017-12-27 5 views
2

Ich möchte einige spezifische nodejavascript Dateien mit einem "on-click" -Ereignis auf meiner Website ausführen. Ich verwende express, um meinen Server und meine Website zu betreiben. Ich denke, der richtige Weg, es zu tun ist, jQuery mit einigen GET Anfragen zu verwenden. Die Javascript Dateien arbeiten, wenn ich sie einfach in der Konsole mit "node examplefile.js" aufrufen Die Datei sieht so aus:Script vom Knotenserver ausführen

var MapboxClient = require('mapbox'); 
var client = new MapboxClient(''); 
client.listStyles(function (err, styles) { 
    console.log(styles); 
}); 

ich diese Datei jedes Mal ein On-Klick ausführen möchten Ereignis eintritt.

Muss ich dies als ein Modul zu meinem app.js exportieren? Dies ist, was ich tun wollte, aber ich scheiterte bei der Implementierung.

Irgendwelche Vorschläge oder einfache Beispiele, wie man das realisiert?

Antwort

0

Es ist viel besser, ein neues Modul zu erstellen und sie dann aus einer ausdrücklichen App aufrufen

schaffen neues Modul (getStyles.js):

var MapboxClient = require('mapbox'); 
var client = new MapboxClient(''); 

module.exports = function (done) { 

    client.listStyles(function (err, styles) { 

     if (err) { 
      return done(err); 
     } 

     done(null, styles); 
    }); 

} 

Verwenden Sie es innerhalb Express App:

... 

var getStyles = new MapboxClient('path/to/getStyles'); 

app.get('/your/route/here', function (req, res, next) { 

    getStyles(function (err, styles) { 

     if (err) return next(err); 

     res.render('view', styles) 

    }); 

}); 

... 

Wenn Sie jedoch eine Befehlszeile von Express ausführen möchten, dann verwenden Sie exec Funktion, hier ist ein Beispiel:

... 

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

app.get('/on/click/buton/route', function (req, res, next) { 

    exec('/usr/bin/node file/path/.js', function (err, stdout, stderr) { 
     if (err) { 
      return next(err); 
     } 
     // send result to the view 
     res.render('veiw', { res: stdout}); 
    }); 

}); 

... 
0

1.Write Ihre examplefile.js innerhalb einer Funktion

function a(){ 
var MapboxClient = require('mapbox'); 
var client = new MapboxClient(''); 
client.listStyles(function (err, styles) { 
console.log(styles); 
}); 

2.Aufnahme examplefile.js in Ihrem app.js

<script src="examplefile.js" type="text/javascript"></script> 

3.Then a() nennen Onclick durch () Ereignis aus Ihrer app.js Datei

<input type="button" onclick="javascript: a();" value="button"/> 

Das ist, was ich verstanden habe, Sie versuchen zu tun.

Verwandte Themen