NodeJS导出未在外部JS文件中定义

时间:2014-08-31 17:27:06

标签: node.js express

我在路由文件中调用外部JS文件中的函数。所以,我试图从我的externalFile.js文件中导出一个函数。但是,当我运行节点服务器时,它会抛出Uncaught ReferenceError: exports is not definedexternalFile.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。

1 个答案:

答案 0 :(得分:0)

看看你的例子,mscdex是对的。 Node中您需要的任何东西都设计为在服务器上运行,并且无法访问浏览器的DOM。

我建议构建一个REST API,接受文件上传,存储它,并返回一个包含元数据的JSON对象:即存储文件的位置,大小等,让你的客户处理它。