鍍金池/ 問答/HTML/ vue打包后,本地json數(shù)據(jù)獲取失敗

vue打包后,本地json數(shù)據(jù)獲取失敗

在webpack.dev.conf.js中配置如下:

const express = require('express')
const app = express()
var appData = require('../recordEvent.json')
var apiRoutes = express.Router()
app.use('/api', apiRoutes)

devServer:{

.......
// 添加如下接口
before(app) {
  app.get('/api/record', (req, res) => {
    res.json({
      errno: 0,
      data: appData
    })
  })
}

}

配置完之后 通過 cnpm run dev可以正確獲取到j(luò)son
但cnpm run build 放到線上之后 獲取json就報錯了
是不是也需要在build環(huán)境中配置??來大神告知一下啦?。。。。?!

回答
編輯回答
眼雜
  1. 調(diào)試時可以使用,是因為run dev 命令走的是webpack.dev.conf.js,調(diào)試服務(wù)啟動,并且將你的json掛載到這個服務(wù)上了,這時你修改的獲取json數(shù)據(jù)的代碼已經(jīng)跑起來了,所以能使用。
  2. 打包時不能使用,是因為打包操作并沒有將你的json打包進來。其實vue打包只是將你的代碼編譯成html、js、css,而如果你需要將json打包至項目,需要在loader中配置。
2018年3月11日 11:48
編輯回答
尐潴豬

按照樓上的辦法配置loader之后還是沒有解決問題,不知道是不是我配置的問題。
但是,如果把json文件當作靜態(tài)文件放在static里,在組件直接require獲取能得到數(shù)據(jù),并且dev和build都是沒問題。
因為之前的寫法是借鑒別人的,還是不知道這樣配置的原因。

2018年8月26日 20:05