const fs = require('fs'); const path = require('path') const ASYNC_PREFIX = '/async/*' function handerAsyncRequest (req, res) { let data = ''; let reqPath = req.path; let reqQuery = req.query; let protocol = req.protocol; let method = reqQuery['method']; let pathStr = ''; let fileUrl = ''; if (method) { pathStr = method.replace(/\./ig, path.sep) + '.json' } else { pathStr = reqPath.replace(/\/async/ig, '') + '.json' } fileUrl = path.join(__dirname, '..', 'mock', 'data', pathStr) try { data = fs.readFileSync(fileUrl, { encoding: 'utf8' }); } catch (e) { data = e; } res.send(data); } function beforeServer (app, server) { app.get(ASYNC_PREFIX, handerAsyncRequest) app.post(ASYNC_PREFIX, handerAsyncRequest) } module.exports = { beforeServer };
devServer: { before: beforeServer }
transformToRequire: { video: ['src', 'poster'], source: 'src', img: 'src', image: 'xlink:href' }
在模板編譯過程當中,編譯器能夠將某些特性轉換爲 require 調用,例如 src 中的 URL。所以這些目標資源能夠被 webpack 處理。例如 <img src="./foo.png"> 會找到你文件系統中的 ./foo.png 並將其做爲一個依賴包含在你的包裏。vue
資源 URL 轉換會遵循以下規則:webpack