javascript - 如何在 node js 中使用模块功能?
问题描述
我在load.js中导出了一个函数,并想在我的路由器文件中使用它。(老实说,我混淆了这个术语,因为我是 node js 的入门者)。
加载.js:
import demo from "./ml.js";
exports.loadData = async function() {
var result = [];
try {
if(window.localStorage.getItem("imgcropped") !== null) {
var image = document.getElementById('img-load');
result = await demo(image);
return result;
}
} catch (e) {
console.log('ML load error: ' + e);
}
}
server.js:
const express = require('express');
const cors = require('cors');
const app = express();
const fs = require('fs');
var load = require('./public/js/load.js');
app.use(express.static('public'));
app.use('/scripts', express.static('node_modules'));
app.use(cors({
credentials: true
}));
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.engine('html', require('ejs').renderFile);
const server = app.listen(3000, function() {
console.log("Express server has started on port 3000");
});
app.get('/', function(req, res){
res.render('home', {
});
});
app.get('/load', function(req, res){
//var idx = load.loadData(); <- That I want.
res.render('load', {
});
});
我补充说
var load = require('./path/to/load.js');
但它不起作用。pm2 日志中甚至没有错误消息。只是它在 Chrome 中显示“ERR_CONNECTION_REFUSED”。我可以在server.jsload.loadData
中使用函数吗?或者请告诉我。
+++ 我在 AWS ec2 上工作。当我将 load.js 直接连接到 load.ejs 时,函数 loadData 运行良好。(不使用exports.module,只loadData()
在load.js中执行)
解决方案
推荐阅读
- c# - WCF 服务中未生成日志文件
- authentication - 从 Windows 10 VM 到 github 的身份验证
- javascript - vue-router - 使用新导航取消从“/”到“/password”的导航
- python - 我已经创建了 django,但它没有加载我的主页
- c++ - 创建用于模板化标准列表的二分搜索
- jquery - Angularjs 1.6.+ 是否与 jQuery 3.5+ 兼容?
- node.js - 在jenkins中运行时如何忽略实际的dotenv(.env)文件
- ios - 为什么我的传输变量总是为空?
- python - 如何在不同的 csv 文件上迭代列表?
- python - python系统(使用wxpython)突然退出,退出代码为-1073741819