简体   繁体   English

Node.js中的错误导出模块-关注点分离

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM