Comments (6)
我将打包文件放到 nginx 之后,试图启动 mockServer 的数据,让页面显示正常。
为啥生产环境需要使用 mock 数据?
- 后端接口并未写完,但是业主需要演示
- 某些系统上线后,需要一些好看的假数据
- 服务玩万一异常,切换成临时数据兜底(例如一些展示大厅的展示大屏)
- ……
但是打包后脱离了 vite 依赖,启动将会失败:
[root@VM-4-4-centos mockServer]# yarn
yarn install v1.22.19
warning package.json: No license field
info No lockfile found.
warning mock-server: No license field
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > [email protected]" has unmet peer dependency "vite@>=3.0.0".
[4/4] Building fresh packages...
success Saved lockfile.
Done in 2.20s.
[root@VM-4-4-centos mockServer]# yarn start
yarn run v1.22.19
warning package.json: No license field
$ node index.js
node:internal/errors:478
ErrorCaptureStackTrace(err);
^
Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'vite' imported from /www/wwwroot/nanke.wmxliu.cn/mockServer/node_modules/vite-plugin-mock-dev-server/dist/index.js
at new NodeError (node:internal/errors:387:5)
at packageResolve (node:internal/modules/esm/resolve:852:9)
at moduleResolve (node:internal/modules/esm/resolve:901:20)
at defaultResolve (node:internal/modules/esm/resolve:1115:11)
at nextResolve (node:internal/modules/esm/loader:163:28)
at ESMLoader.resolve (node:internal/modules/esm/loader:841:30)
at ESMLoader.getModuleJob (node:internal/modules/esm/loader:424:18)
at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:76:40)
at link (node:internal/modules/esm/module_job:75:36) {
code: 'ERR_MODULE_NOT_FOUND'
}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
from vite-plugin-mock-dev-server.
是否可以支持:打印输出请求进来的 info 信息,这样可以明确知道请求确实是到了这里,而不是开发者手动去检查
已添加该配置支持,默认 日志级别为 error
, 可以根据需要配置 slient | debug | error | warn | info
。
是否可以支持:打包的 mockServer 在 dist 目录外面。这导致每次进行打包需要重新进入 mockServer 进行 install 和 start
这个已经支持了,查看文档。如果是相对路径,则相对于 vite config
的输出目录。
是否可以支持:将 mockServer 复制到 vite 项目之外时,能够正常启动。
当前版本由于 意外的依赖了 vite
内部的一些工具方法,导致了 运行错误。 已经将其迁移为 插件内置方法。
from vite-plugin-mock-dev-server.
收到,谢谢,辛苦了
这个已经支持了,查看文档。如果是相对路径,则相对于 vite config 的输出目录。
在 vite@5
中,使用相对目录,如果是在 dist 目录外面,则不会出现打包文件,例如 dist=../test/mockServer
而 dist=mockServer
|./mockServer
则会在 dist/mockServer
生成
from vite-plugin-mock-dev-server.
@U-Wen 需要输出到其他目录,使用绝对路径配置即可。当配置为绝对路径时,使用的是 fs.writeFile
输出文件,而不是 vite
的 ctx.emitFile
输出文件。
build.dist: path.join(process.cwd(), 'other_dir')
from vite-plugin-mock-dev-server.
我改成了 join(process.cwd(), 'mockServer')
仍然无法生效,在项目内外都未找到 mockServer
目录
并且尝试了 pnpm
yarn
和 npm
也尝试了 path.join
和 path.resolve
这种方式也不行 join(process.cwd(), './dist/mock2')
环境
[email protected]
[email protected]
[email protected]
[email protected]
和 [email protected]
[email protected]
[email protected]
vite.config.ts
mockDevServerPlugin({
log: 'info',
prefix: `^${MOCK_DEV_PREFIX}/`, // 配置会被 mock-dev-server 插件拦截的前缀
build: {
serverPort: 3002, // mockServer 启动端口
dist: join(process.cwd(), './dist/mock2'), // 生成可独立部署的 mockServer 文件在目录 dist/mockServer
log: 'info',
},
}),
from vite-plugin-mock-dev-server.
@U-Wen 测试发现绝对路径下确实存在问题,路径检测时存在错误,目录未成功递归创建导致。
已修复该问题。
from vite-plugin-mock-dev-server.
Related Issues (20)
- 关于mock前置拦截功能 HOT 2
- 1.1.6版本开始`transform`排序规则存在问题 HOT 3
- BUG(response error): appendHeader is not a function HOT 2
- 建议说明使用 ESModule 作为 mock 文件时,可能存在内存泄露风险。 HOT 2
- Invalid define value (must be an entity name or valid JSON syntax): {"BASE_URL":"./","MODE":"production","DEV":false,"PROD":true,"LEGACY":__VITE_IS_LEGACY__} HOT 3
- 如何设置mock 接口支持跨域?或如何 全局设置 mockConfig HOT 3
- 1.2.0版本导致vite启动报错 HOT 4
- 怎么只在yarn run preview下开启mock数据?不想在其他环境使用mock HOT 5
- vite4.x版本中使用别名导致随机性的导入一些方法失败 HOT 3
- 关于拦截问题
- [bot] add contributors HOT 13
- 多个mock模块如何公用一套数据? HOT 5
- 希望可以显式定义 *.mock.ts 文件加载顺序,以便于控制不同文件中 mock 规则优先级。 HOT 12
- defineConfig不存在,文档是不是没更新? HOT 4
- next() 无法将 POST 请求转交给 Vite 默认代理中间件 HOT 7
- 希望 `mockDevServerPlugin` 添加一个 `base_url` 配置 HOT 2
- 是否可以支持mock数据低优先级 HOT 4
- mockServer 独立部署安装和启动报错 HOT 3
- 未配置 vite 的 proxy 参数和插件的 prefix 参数,应输出警告信息。 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vite-plugin-mock-dev-server.