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安装依赖,就会导致出现该错误
dva使用yarn编译出错的更多相关文章
- Android Studio2.1.2 Java8环境下引用Java Library编译出错
转载请注明出处:http://www.cnblogs.com/LT5505/p/5685242.html 问题:在Android Studio2.1.2+Java8的环境下,引用Java Librar ...
- protobuf编译出错的解决方案(iOS,OSX)
protobuf 最近使用protobuf,变编译工具时遇上一点问题.现在附上解决方案 编译过程 完全参照 https://github.com/alexeyxo/protobuf-objc 编译出错 ...
- Xamarin.iOS编译出错
Xamarin.iOS编译出错 错误信息:C:/Program Files(x86)/Reference Assemblies/Microsoft/Framework/Xamarin.iOS/v1.0 ...
- Cocos2d-x 3.0 编译出错 解决 error: expected ';' at end of member declaration
近期把项目移植到cocos2d-x 3.0,在整Android编译环境的时候,出现一大堆的编译出错,都是类似"error: expected ';' at end of member dec ...
- Weblogic jsp页面编译出错,Weblogic jsp编译异常
Weblogic jsp页面编译出错,Weblogic jsp编译异常 ======================== 蕃薯耀 2018年1月29日 http://www.cnblogs.com/f ...
- 关于Koala 中文编译出错
关于koala: 我们知道koala是一个前端预处理器语言图形编译工具,支持Less.Sass.Compass.CoffeeScript,帮助web开发者更高效地使用它们进行开发.跨平台运行,完美兼容 ...
- codeblocks c++ 编译出错
codeblocks编译出错 今天编译一个c++程序调用模板的时候,出现错误 error This file requires compiler and library support for the ...
- gcc编译出错---make[5]: *** [s-attrtab] Killed
内存不足导致的编译出错,解决方法是增加swapfile. root@ubuntu:home# swapon -s Filename Type Size Used ...
- 关于使用Google Analyse导入库文件编译出错的解决办法.
(最新解决办法):因为要通过cocoapod链接库,那么直接在Podfile上面加上 pod 'GoogleAnalytics-iOS-SDK', '~> 3.0.9',然后在pod insta ...
- STM32F103RB, KEIL编译出错:cannot open preprocessing output output file ".\神舟i号\main.d" no such file or
STM32F103RB, KEIL编译出错:cannot open preprocessing output output file ".\神舟i号\main.d" no su ...
随机推荐
- Git 系列:简介安装以及配置管理
目录 简介安装 简介 Centos安装 配置管理 git help 概要 选项 示例 git-doc git config 概要 选项 变量 示例 初始化配置 简介安装 简介 https://git- ...
- 聊聊ChatGLM-6B医疗数据微调
转载请注明出处: https://www.cnblogs.com/zhiyong-ITNote/ 参考了多个医疗大模型,如扁鹊.灵心等,重新思考了下微调的方案以及数据集的格式:基于ChatGLM/其它 ...
- Android 圆形进度条ProgressBar实现固定进度
原文: Android 圆形进度条ProgressBar实现固定进度-Stars-One的杂货小窝 之前遇到一个问题,发现Android里的圆形进度条无法固定一个进度,记录一下解决方法 探究 假设我们 ...
- rnacos v0.1.6版本发布
rnacos是一个用 rust重新实现的nacos. rnacos比java实现的nacos更轻量.快速.稳定:合适在开发.测试.受资限服务等环境平替nacos服务使用. rnacos v0.1.6 ...
- python实现批量运行命令行
python实现批量运行命令行 背景: 对于不同参数设置来调用同一个接口,如果手动一条条修改再运行非常慢且容易出错.尤其是这次参数非常多且长.比如之前都是输入nohup python -u exe.p ...
- Springboot访问html页面
项目结构如图 1.html页面创建 在原有的项目resouces目录下创建static包,并在static下创建pages,然后在pages包下index.html. index.html内容 < ...
- BorderDet:通过边界特征大幅提升检测准确率,即插即用且速度不慢 | ECCV 2020 Oral
边界对于定位问题十分重要,BorderDet的核心思想BorderAlign巧妙又有效,将边界特征融入到目标定位预测中,而且能够简单地融入到各种目标检测算法中带来较大的性能提升下.在开源实现中,对Bo ...
- KingbaseES Json 系列五--Json数据操作函数三
KingbaseES Json 系列五:Json数据操作函数三(JSONB_SET,JSONB_INSERT,JSON_QUERY) JSON 数据类型是用来存储 JSON(JavaScript Ob ...
- java实战字符串2:中英字符串相互转换
题目描述 输入字符串为中文拼音号码串或者英文号码串,如果输入是中文拼音号码串则转成英文号码串,如果输入是英文号码串则转成中文号码串. 特殊情况是英文号码串会出现Double + 英文数字或者拼音数值. ...
- Scala变量和常量的声明
标示符的命名规则 1. 字母或下划线开头 2. 以操作符开头,且只包含操作符(+ - * / # !等) 3. 用反引号`....`包括的任意字符串,即使是 Scala 关键字(39 个)也可以• p ...