Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

在window系统,构建mock错误 #47

Closed
xuxiaoxuan opened this issue Jun 1, 2023 · 1 comment
Closed

在window系统,构建mock错误 #47

xuxiaoxuan opened this issue Jun 1, 2023 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@xuxiaoxuan
Copy link

Describe the bug
MOCK_RUNTIME_FILE路径错误,导致无法构建。应该是**/**
D:\work\zuJianKu\mor-components>pnpm run dev

[email protected] dev D:\work\zuJianKu\mor-components
mor compile --watch --mock

D:\work\zuJianKu\mor-components\node_modules.pnpm@[email protected]\node_modules@morjs\plugin-mocker\lib\runtimes\mock.js >>>>>>>>>>>>>>>>>XXXX
[mor] i 发现配置文件: mor.config.ts
[mor] √ 配置文件加载成功: mor.config.ts
[mor] ‼ 已开启 mock 功能
[mor] i 准备配置中, 即将开始编译 👇
配置名称: ali
编译目标: 支付宝小程序
编译环境: development
编译类型: 小程序
编译模式: bundle
源码类型: wechat
源码目录: src
输出目录: dist\alipay
[mor] i 已开启缓存, 可通过 --no-cache 关闭
[mor] i 启动文件监听模式
[mor] i 开始编译 ...
[mor] i 依赖分析中 ...
[mor] i 依赖分析完成: 耗时: 190.8397 ms
[mor] √ 编译完成, 耗时: 2839.0836 ms

[mor] × 编译 D:workzuJianKumor-components
ode_modules.pnpm@[email protected]
untimesmock.js 失败:morjsplugin-mockerlib
=> Module build failed: UnhandledSchemeError: Reading from "D:workzuJianKumor-components
ode_modules.pnpm@[email protected]
untimesmock.js" is not handled by plugins (Unhandled scheme).
Webpack supports "data:" and "file:" URIs by default.
You may need an additional plugin to handle "d:" URIs.
at D:\work\zuJianKu\mor-components\node_modules.pnpm\[email protected]_ob4k3dxoir7qyq3qpk7cszlhlq\node_modules\webpack\lib\NormalModule.js:834:25
at Hook.eval [as callAsync] (eval at create (D:\work\zuJianKu\mor-components\node_modules.pnpm\[email protected]\node_modules\tapable\lib\HookCodeFactory.js:33:10), :6:1)
at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (D:\work\zuJianKu\mor-components\node_modules.pnpm\[email protected]\node_modules\tapable\lib\Hook.js:18:14)
at Object.processResource (D:\work\zuJianKu\mor-components\node_modules.pnpm\[email protected]_ob4k3dxoir7qyq3qpk7cszlhlq\node_modules\webpack\lib\NormalModule.js:831:8)
at processResource (D:\work\zuJianKu\mor-components\node_modules.pnpm\[email protected]\node_modules\loader-runner\lib\LoaderRunner.js:220:11)
at iteratePitchingLoaders (D:\work\zuJianKu\mor-components\node_modules.pnpm\[email protected]\node_modules\loader-runner\lib\LoaderRunner.js:171:10)
at runLoaders (D:\work\zuJianKu\mor-components\node_modules.pnpm\[email protected]\node_modules\loader-runner\lib\LoaderRunner.js:398:2)
at NormalModule._doBuild (D:\work\zuJianKu\mor-components\node_modules.pnpm\[email protected]_ob4k3dxoir7qyq3qpk7cszlhlq\node_modules\webpack\lib\NormalModule.js:821:3)
at NormalModule.build (D:\work\zuJianKu\mor-components\node_modules.pnpm\[email protected]_ob4k3dxoir7qyq3qpk7cszlhlq\node_modules\webpack\lib\NormalModule.js:965:15)
at D:\work\zuJianKu\mor-components\node_modules.pnpm\[email protected]_ob4k3dxoir7qyq3qpk7cszlhlq\node_modules\webpack\lib\Compilation.js:1371:12

To Reproduce
1.pnpm run dev
ps:"dev": "mor compile --watch --mock",

Expected behavior
能在window系统构建mock

solution
将MOCK_RUNTIME_FILE进行转斜杆.用.replace(/\/g, '/')
const initMockFileContent = [
import Mock from '${MOCK_RUNTIME_FILE}.replace(/\\/g, '/')';,
adapterImports.join(';\n'),
var mockContext = require.context(${JSON.stringify(path_1.default.resolve(cwd, mockOptions.path))}, true, /\\.(cjs|js|json|json5|jsonc|mjs|ts)$/),
// 传入的 adapters 是 new 后的对象实例组,可运行 run 方法获取返回结果
var adapters = [${adapterItems.join(', ')}],
var mock = new Mock(mockContext, '${JSON.stringify(mockOptions)}', '${globalObject}', adapters);,
mock.run();
].join('\n');
// 写入内存文件
this.wrapper.fs.mem.mkdirpSync(path_1.default.dirname(mockFilePath));
this.wrapper.fs.mem.writeFileSync(mockFilePath, initMockFileContent);
return mockFilePath;

@BboyZaki
Copy link
Contributor

BboyZaki commented Jun 5, 2023

1.0.52 版本已修复

@BboyZaki BboyZaki closed this as completed Jun 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants