[英]Error Export Module in Node.js - separation of concerns
I am trying to implement separation of concerns by using export module. 我正在尝试通过使用导出模块来实现关注点分离。 All the code is working if used without separation of concern but as soon as I am trying to import generateUrlArray()
from const db = require('../db')
nothing is working. 如果使用时没有引起关注,所有代码都可以正常工作,但是当我尝试从const db = require('../db')
导入generateUrlArray()
,什么都没有起作用。 Nodejs is not giving me any error on the back-end. Nodejs在后端没有给我任何错误。 The error I am getting on front-end is Error: SyntaxError: Unexpected end of JSON input
. 我在前端遇到的错误是Error: SyntaxError: Unexpected end of JSON input
。 I am positive that the error is coming from back-end. 我肯定该错误来自后端。 Let me know if you have any ideas. 让我知道您是否有任何想法。
controller.js controller.js
const db = require('../db')
exports.getWebApiList = (req, res) => {
(async function fetchDataList() {
try {
const urlArray = await db.generateUrlArray({}, { _id: 0 })
return res.send(urlArray)
} catch (ex) {
console.log(`fetchDataList error: ${ex}`)
}
})()
}
..db/index.js ..db / index.js
const { List } = require('./models/List')
const generateUrlArray = (query, projection) => {
const dataFromDB = List.find(query, projection).select('symbol')
return linkArray = dataFromDB.map(item => {
return link = `https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=${item.symbol}&apikey=6BUYSS9QR8Y9HH15`
})
}
module.exports = { generateUrlArray }
.models/List.js .models / List.js
const mongoose = require('mongoose')
mongoose.Promise = global.Promise
const ParentSchemaSymbolList = new mongoose.Schema({
symbol: String
})
module.exports.List = mongoose.model('List', ParentSchemaSymbolList)
const generateUrlArray = async (query, projection) => { const dataFromDB = await List.find(query, projection).select('symbol') const linkArray = dataFromDB.map(item => { return link = `https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=${item.symbol}&apikey=6BUYSS9QR8Y9HH15` }) return linkArray }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.