美文网首页
vue + webpack 模拟后台数据

vue + webpack 模拟后台数据

作者: 是新来的啊强呀 | 来源:发表于2020-04-27 17:09 被阅读0次

新版webpack升里边去掉了dev-server和dev-client两个文件。
最新的vue里dev-server.js被替换成了webpack-dev-conf.js
因此,在模拟后台数据的时候直接在webpack-dev-conf.js文件中修改

  • 第一步、在const portfinder = require(‘portfinder')后添加如下内容
const express = require('express')
const app = express() //请求server
var appData = require('../mock/goods.json') //加载本地数据文件
var apiRoutes = express.Router()
app.use(apiRoutes) //通过路由请求数据
// 或
// 定义本地mock文件,后台数据模拟
// const axios = require('axios');
// const express = require('express')
// const app = express()
// var goodsData = require('../mock/goods.json')//加载本地数据文件
// var apiRoutes = express.Router()
// app.use('/api', apiRoutes)
  • 第二步、找到devServer,在里面加上before()方法
devServer: {
    clientLogLevel: 'warning',
    historyApiFallback: {
      rewrites: [
        { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
      ],
    },
    hot: true,
    contentBase: false, // since we use CopyWebpackPlugin.
    compress: true,
    host: HOST || config.dev.host,
    port: PORT || config.dev.port,
    open: config.dev.autoOpenBrowser,
    overlay: config.dev.errorOverlay
      ? { warnings: false, errors: true }
      : false,
    publicPath: config.dev.assetsPublicPath,
    proxy: config.dev.proxyTable,
    quiet: true, // necessary for FriendlyErrorsPlugin
    watchOptions: {
      poll: config.dev.poll,
    },
    before(app) {
      app.get('/goods', (req, res) => {
        res.json(appData)
      })
    }
  }
  • 第三步、在项目目录中创建mock文件夹,创建goods.json文件:
{
    "status": "0",
    "msg": "",
    "result": [
        {
            "productId": "100001",
            "productName": "小米6",
            "productPrice": "2499",
            "productImg": "1.jpg"
        },{
            "productId": "100002",
            "productName": "音箱",
            "productPrice": "999",
            "productImg": "2.jpg"
        },{
            "productId": "100003",
            "productName": "电脑",
            "productPrice": "199",
            "productImg": "3.jpg"
        }
    ]
}
  • 第四步、在GoodsList.vue文件中:


    image.png

注:参考

相关文章

网友评论

      本文标题:vue + webpack 模拟后台数据

      本文链接:https://www.haomeiwen.com/subject/puluwhtx.html