1.dva new app
2.新建 webpack.config.js,内容如下:
export default function(webpackConfig) {
delete webpackConfig.resolve.alias['@babel/runtime'];
return webpackConfig;
}
2.npm start
浏览器正常显示页面
浏览器控制台输出 Warning: Please use require("history").createHashHistory
instead of require("history/createHashHistory")
. Support for the latter will be removed in the next major release
dva-cli version 0.10.0
请给出可复现步骤。
1.dva new app
2.新建 webpack.config.js,内容如下:
export default function(webpackConfig) {
delete webpackConfig.resolve.alias['@babel/runtime'];
return webpackConfig;
}
2.npm start
3.浏览器查看控制台
index.js:2177 Warning: Please use require("history").createHashHistory
instead of require("history/createHashHistory")
. Support for the latter will be removed in the next major release.
warning 信息忽略,不影响使用,下个版本会解决。
1.dva new app
2.新建 webpack.config.js,内容如下:
export default function(webpackConfig) {
delete webpackConfig.resolve.alias['@babel/runtime'];
return webpackConfig;
}
2.npm start
3.浏览器查看控制台index.js:2177 Warning: Please use
require("history").createHashHistory
instead ofrequire("history/createHashHistory")
. Support for the latter will be removed in the next major release.
1.dva new app
2.新建 webpack.config.js,内容如下:
export default function(webpackConfig) {
delete webpackConfig.resolve.alias['@babel/runtime'];
return webpackConfig;
}
2.npm start
3.浏览器查看控制台index.js:2177 Warning: Please use
require("history").createHashHistory
instead ofrequire("history/createHashHistory")
. Support for the latter will be removed in the next major release.
这个问题怎么解决的?求助
@mystylemylife 给复现步骤。。
@mystylemylife 给复现步骤。。
@mystylemylife 给复现步骤。。
解决了,之前因为启动[email protected]报错,所以按照@bestXie 的方法增加webpack.config.js移除'@babel/runtime',不报错了,但又报的是我之前截图的错误,现在去掉这个js,并升级roadhog版本为2.5.0-beta.4就好了
老项目重新安装nodemodule 就报错一看是[email protected]的问题
更新dva吧就跟楼主一样
什么鬼现在
老项目重新安装nodemodule 就报错一看是[email protected]的问题
更新dva吧就跟楼主一样
什么鬼现在
升级roadhog版本为2.5.0-beta.4就好了
import { createBrowserHistory } from 'history' 或import { createHashHistory } from 'history'
这都几个月了,真是上了贼船了。
老项目重新安装nodemodule 就报错一看是[email protected]的问题
更新dva吧就跟楼主一样
什么鬼现在升级roadhog版本为2.5.0-beta.4就好了
升级roadhog版本为2.5.0-beta.4也是会出现这个问题的
解决:
node_modules
中的dva
文件夹,修改lib/index.js
var _createHashHistory = _interopRequireDefault(require("history/createHashHistory"));
var _createHashHistory = _interopRequireDefault(require("history").createHashHistory);
保存关闭编译器,重新启动服务 就好了
dva感觉已经不维护了吗?这个问题这么久还存在,为什么关闭了
通过代理原生的console.warn和console.error解决
(() => {
//过滤掉一些无用的警告、没有价值的报错
//代理console.warn方法
const _consoleWarn = console.warn;
console.warn = (...rest) => {
if (
![
'react-error-overlay is not meant for use in production. You should ensure it is not included in your build to reduce bundle size.',
'Warning: componentWillReceiveProps has been renamed',
'Warning: componentWillUpdate has been renamed',
].some((item) => rest[0].indexOf(item) !== -1)
) {
_consoleWarn(...rest);
}
};
//代理console.error
const _consoleError = console.error;
console.error = (...rest) => {
if (
![
`Warning: Please use \`require("history").createHashHistory\` instead of \`require("history/createHashHistory")\`. Support for the latter will be removed in the next major release.`,
'ui socket init',
].includes(rest[0].toString())
) {
_consoleError(...rest);
}
};
})();
自己写了一个补丁,每次启动前,替换./node_modules/dva/lib/index.js
中require\\("history/createHashHistory"\\)
替换为require("history").createHashHistory
:
patch.js
文件,内容如下:const replace = require("replace");
replace({
regex: 'require\\("history/createHashHistory"\\)',
replacement: 'require("history").createHashHistory',
paths: ['./node_modules/dva/lib/index.js'],
recursive: true,
silent: true,
});
package.json
中增加如下代码,在start
命令前增加npm run patch &&
,增加"patch": "node ./patch.js"
npm
命令:{
...
"scripts": {
"start": "npm run patch && cross-env APP_TYPE=site umi dev", // start命令之前先运行patch.js
...
"patch": "node ./patch.js"
},
...
}
Most helpful comment
dva感觉已经不维护了吗?这个问题这么久还存在,为什么关闭了