我正在从路由文件中的外部 JS 文件调用函数。因此,我尝试从 externalFile.js
文件导出一个函数。但是,当我运行 Node 服务器时,它会抛出 Uncaught ReferenceError:未定义导出
。 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;
感谢您的帮助!这里有点 Node 菜鸟的意思。
最佳答案
看看你的例子,mscdex是正确的。 Node 中所需的任何内容都设计为在服务器上运行,并且无法访问浏览器的 DOM。
我建议构建一个 REST API,它接受文件上传、存储文件并返回包含元数据的 JSON 对象:即文件的存储位置、大小等,并让您的客户端处理这些内容。
关于node.js - NodeJS 导出未在外部 JS 文件中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25594475/