dva使用yarn编译出错
1. 报错信息
./src/models/example.jsModule build failed: TypeError: /Users/user/Desktop/learn-code/10.React/01_dva-came/src/models/example.js: path.isPrivate is not a function at Array.forEach (
)
只要启动项目,然后修改example代码,只要example发生改变就会报该错误,无论是添加注释还是产生新的换行
2.原始代码
// example.js import { routerRedux } from "dva/router"; // routerRedux == connected-react-redux function delay(ms) { return new Promise((resolve) => { setTimeout(() => { resolve(); }, ms); }); } export default { namespace: "counter", state: { count: 1, }, //ddd subscriptions: { setup({ dispatch, history }) { // eslint-disable-line }, }, effects: { *asyncAdd(action, { put, call }) { yield call(delay, 1000); yield put({ type: "counter/add" }); }, *goto({ payload }, { put }) { yield put(routerRedux.push(payload)); }, }, reducers: { add(state, action) { console.log("state", state); return { count: state.count + 1, }; }, }, }; // index.js import dva, { connect } from "dva"; import { Router, Route } from "dva/router"; import React from "react"; import "./index.css"; console.log("Router", Route); // 1. Initialize const app = dva(); // 2. Plugins // app.use({}); // 3. Model app.model(require("./models/example").default); // 4. Router // app.router(require("./router").default); let Counter = connect((state) => state.counter)((props) => { let { count, dispatch } = props; console.log("count", props); return ( <div> <p>{count}</p> <button onClick={() => dispatch({ type: "counter/add", }) } > + </button> <button onClick={() => dispatch({ type: "counter/asyncAdd" })}> async + </button> <button onClick={() => dispatch({ type: "counter/goto", payload: "/" })}> goto / </button> </div> ); }); const Home = (props) => <div>home</div>; app.router(({ history }) => ( <Router history={history}> {/* Router 下面只能有一个元素 */} <React.Fragment> <Route path="/" exact component={Home} /> <Route path="/counter" component={Counter} /> </React.Fragment> </Router> )); // 5. Start app.start("#root");
3.最终查找原因
- 并没有找到具体是因为什么,猜测原因是使用了yarn 重新安装依赖导致
- 如果重新使用npm 安装依赖则恢复正常
++++++++++++++++++++++++++++++++++++++++++++++
经过测试发现,使用dva脚手架生成的项目如果后期使用了yarn安装依赖,就会导致出现该错误
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?