在vue-cli中mock的数据访问不到

在vue脚手架工具基础上添加了一个data.json文件
在dev-server.js中添加如下配置,然后重新npm run dev。访问http://localhost:8080/api/seller访问不到数据
clipboard.png

// mock
const app = express()
const appData = require('../data.json')
const seller = appData.seller
const goods = appData.goods
const ratings = appData.ratings
const apiRoutes = express.Router();
apiRoutes.get('./seller', function(req, res) {
  res.json({
    erron: 0,
    data: seller
  })
})
apiRoutes.get('./ratings', function(req, res) {
  res.json({
    erron: 0,
    data: ratings
  })
})
apiRoutes.get('./goods', function(req, res) {
  res.json({
    erron: 0,
    data: goods
  })
})
app.use('./api', apiRoutes)
阅读 3.2k
2 个回答
var app = express()
// 1. 加载json数据
const data = require('../src/mock/data.json')
// 2. 生成路由器
const router = express.Router()
// 3. 注册路由
router.get('/goods', function (req, res, next) { // 处理请求, 返回响应数据
  res.send({ // 返回给浏览器的是包含数据的对象
    code: 0,  // 数据的标识属性   0代表正确的数据
    data: data.goods
  })
})
router.get('/ratings', function (req, res, next) { // 处理请求, 返回响应数据
  res.send({
    code: 0,
    data: data.ratings
  })
})
router.get('/seller', function (req, res, next) { // 处理请求, 返回响应数据
  res.send({
    code: 0,
    data: data.seller
  })
})
// 4. 启用路由器
app.use('/api', router)

你把'./'换成'/'看看

改几个地方,把"./*"改成"/";

const app = express()
const appData = require('../data.json')
const seller = appData.seller
const goods = appData.goods
const ratings = appData.ratings
const apiRoutes = express.Router();
apiRoutes.get('/seller', function(req, res) {
  res.json({
    erron: 0,
    data: seller
  })
})
apiRoutes.get('/ratings', function(req, res) {
  res.json({
    erron: 0,
    data: ratings
  })
})
apiRoutes.get('/goods', function(req, res) {
  res.json({
    erron: 0,
    data: goods
  })
})
app.use('/api', apiRoutes)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题