vue中如何使用reuiqre引入npm包

在vue中使用mock
在vue.config.js中

module.exports = {
  devServer: {
    before: require('./mock/index.js')
  }
};

./mock/index.js文件中

const fs = require('fs');
const path = require('path');
const Mock = require('mockjs');
const JSON5 = require('json5');

// 打印有效 并且确实存在mock和setup方法
console.log(Mock)
// 正确调用mock方法
console.log(Mock.mock({a:1}));
// 这里报错: Cannot read property 'setup' of undefined
Mock.setup({
  timeout: 2000
})
// 以上为关键代码



function getSql() {
  //读取文件
  let json5 = fs.readFileSync(path.join(__dirname, './sql.json5'), 'utf-8');
  //解析并返回
  return JSON5.parse(json5);
}


module.exports = function (app) {
  // 通过环境变量控制MOCK执行
  if (process.env.MOCK == 'true') {
    app.get('/mxkj/get_detail', function (rep, res) {
      res.json(Mock.mock(getSql()))
    });
  }
}

控制台
image.png

阅读 2.7k
1 个回答

mockjs 代码中初始化XHR,因为在服务环境下没有window对象,所有XHR为undefined所有会报错
image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题