我在路由文件中调用外部JS文件中的函数。所以,我试图从我的externalFile.js
文件中导出一个函数。但是,当我运行节点服务器时,它会抛出Uncaught ReferenceError: exports is not defined
。 externalFile.js
位于public/javascripts/
,路径文件位于routes/
。
外部文件(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。
答案 0 :(得分:0)
看看你的例子,mscdex是对的。 Node中您需要的任何东西都设计为在服务器上运行,并且无法访问浏览器的DOM。
我建议构建一个REST API,接受文件上传,存储它,并返回一个包含元数据的JSON对象:即存储文件的位置,大小等,让你的客户处理它。