0
我正在从我的路由文件中的外部JS文件调用一个函数。所以,我试图从我的externalFile.js
文件中导出一个函数。但是,当我运行节点服务器时,它会抛出Uncaught ReferenceError: exports is not defined
。 externalFile.js
位于public/javascripts/
,路由文件位于routes/
。未在外部JS文件中定义的NodeJS导出
外部文件(externalFile.js
):
exports.capsolvingComplete = function (stdout){
//Received, display text and hide the spinner, put check in place.
$('#capsolv-complete').css("display", "block")
$('#capsolv-output').text(stdout);
}
路线文件:
var express = require('express');
var router = express.Router();
var script = require('../public/javascripts/externalFile.js')
/* GET home page. */
router.get('/', function(req, res) {
res.render('index', { title: 'CapSolv' });
});
router.post('/file-upload', function(req, res){
script.capsolvingComplete("HI");
res.end("success");
})
module.exports = router;
谢谢您的帮助!节点noob在这里。
即使'capsolvingComplete'工作,您如何期望在POST过程中使用node.js中的jquery更新客户端? – mscdex 2014-08-31 18:53:05
操纵服务器端的DOM通常会皱眉? – goodcow 2014-08-31 18:56:28
你不能像这样从节点操纵客户端的DOM。如果你想在上传进度等方面更新客户端,你需要使用诸如websockets/socket.io/sockjs/etc之类的东西。将消息推送到客户端,然后更新DOM。 – mscdex 2014-08-31 19:00:07