vbenjs / vite-plugin-mock

A mock plugin for vite.use mockjs.
MIT License
621 stars 96 forks source link

修改mock文件,开发服务确实提示文件发生改变了,但是重新请求接口,内容和日志打印都没有发生变化 #36

Closed morelearn1990 closed 3 years ago

morelearn1990 commented 3 years ago

RT

使用示例里面的 ts-example ,安装最新版的 vite-plugin-mock 版本为 2.9.1。

必须要重新启动开发服务后,修改才生效

补充说明,后来实验了一下: import { viteMockServe } from 'vite-plugin-mock' 这样的更新失效

但是使用本地未打包版本的就没问题 import { viteMockServe } from '../../src';

大佬,这个可能是什么原因啊

renhhh commented 3 years ago

一样,修改mock.ts文件,需要重启服务,才能生效(vite-plugin-mock 版本为 2.9.1)

morelearn1990 commented 3 years ago

没有人帮忙看看么?

morelearn1990 commented 3 years ago

啊?大佬为什么将issue关啦?

anncwb commented 3 years ago

尝试升级2.9.3

morelearn1990 commented 3 years ago

还是不行嘞,改了之后还是要重启才能生效

morelearn1990 commented 3 years ago

@anncwb 老板我知道为啥开发调试能行,而打包后不能watch文件变化了。 因为你的代码里面清除缓存这儿delete require.cache[path] 里面的 require 会被编译成

var __require = (x) => {
  if (typeof require !== "undefined")
    return require(x);
  throw new Error('Dynamic require of "' + x + '" is not supported');
};

然后 delete __require.cache[fileName] 就会不生效。 而开发调试的时候从ts文件导入的模块就没这毛病

大佬,求解决呀。

morelearn1990 commented 3 years ago

我找到解决方法了,将 tsup 的 target 设置为 node12

renhhh commented 3 years ago

老哥,是怎么处理的呢?直接在项目里改,然后重新打包吗?