从节点服务器执行脚本
我想执行一些特定的node
javascript
文件,在我的网站上有一个“点击”事件。我正在使用express
来运行我的服务器和网站。我认为正确的做法是使用jQuery
和一些GET
请求。该Javascript
文件的工作,如果我只需在控制台"node examplefile.js"
打电话给他们的文件看起来像这样:从节点服务器执行脚本
var MapboxClient = require('mapbox'); var client = new MapboxClient('');
client.listStyles(function (err, styles) {
console.log(styles);
});
我想每次执行此文件中的一个上点击事件发生。
我是否必须将其作为模块导出到我的app.js
?这是我想要做的,但我在实施中失败了。
任何建议或简单的例子如何实现这一点?
回答:
这是更好的创建一个新的模块,然后由快递应用
称之为创建新的模块(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);
});
}
使用它明确内部应用程序:
... 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)
});
});
...
但是如果你想从express执行命令行,那么使用exec函数,这里是一个例子:
个... 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});
});
});
...
回答:
1.Write功能在您examplefile.js
function a(){ var MapboxClient = require('mapbox');
var client = new MapboxClient('');
client.listStyles(function (err, styles) {
console.log(styles);
});
2.Include examplefile.js在app.js
<script src="examplefile.js" type="text/javascript"></script>
3.Then调用()由的onclick(从app.js)事件文件
<input type="button" onclick="javascript: a();" value="button"/>
这是我的理解,你正在尝试做的。
以上是 从节点服务器执行脚本 的全部内容, 来源链接: utcz.com/qa/267010.html