Dva: Después del inicio, abra la página e informe un error. Advertencia: Por favor use `require (" history "). CreateHashHistory` en lugar de` require ("history / createHashHistory") `.

Creado en 17 mar. 2019  ·  16Comentarios  ·  Fuente: dvajs/dva

Código para reproducir el problema: (proporcione un código o pasos reproducibles)

1.dva nueva aplicación
2. Cree un nuevo webpack.config.js con el siguiente contenido:
exportar función predeterminada (webpackConfig) {
eliminar webpackConfig.resolve.alias ['@ babel / runtime'];
return webpackConfig;
}
2.npm inicio

Comportamiento esperado: (efecto normal esperado)

El navegador muestra la página normalmente

Comportamiento real: (efecto real)

Salida de la consola del navegador Advertencia: utilice require("history").createHashHistory lugar de require("history/createHashHistory") . La compatibilidad con este último se eliminará en la próxima versión principal

Versiones de paquetes utilizados: (qué versión de qué biblioteca tiene el problema)

dva-cli versión 0.10.0

Need Reproduce

Comentario más útil

¿Dva se siente sin mantenimiento?Este problema persiste durante tanto tiempo, ¿por qué está cerrado?

Todos 16 comentarios

WechatIMG24

Proporcione pasos reproducibles.

1.dva nueva aplicación
2. Cree un nuevo webpack.config.js con el siguiente contenido:
exportar función predeterminada (webpackConfig) {
eliminar webpackConfig.resolve.alias ['@ babel / runtime'];
return webpackConfig;
}
2.npm inicio
3. Consola de vista del navegador

index.js: 2177 Advertencia: utilice require("history").createHashHistory lugar de require("history/createHashHistory") . El soporte para este último se eliminará en la próxima versión principal.

La información de advertencia se ignora y no afecta el uso, y se resolverá en la próxima versión.

1.dva nueva aplicación
2. Cree un nuevo webpack.config.js con el siguiente contenido:
exportar función predeterminada (webpackConfig) {
eliminar webpackConfig.resolve.alias ['@ babel / runtime'];
return webpackConfig;
}
2.npm inicio
3. Consola de vista del navegador

index.js: 2177 Advertencia: utilice require("history").createHashHistory lugar de require("history/createHashHistory") . El soporte para este último se eliminará en la próxima versión principal.

1.dva nueva aplicación
2. Cree un nuevo webpack.config.js con el siguiente contenido:
exportar función predeterminada (webpackConfig) {
eliminar webpackConfig.resolve.alias ['@ babel / runtime'];
return webpackConfig;
}
2.npm inicio
3. Consola de vista del navegador

index.js: 2177 Advertencia: utilice require("history").createHashHistory lugar de require("history/createHashHistory") . El soporte para este último se eliminará en la próxima versión principal.

image
¿Cómo se resuelve este problema?Pedir ayuda

@mystylemylife da pasos para reproducir. .

@mystylemylife da pasos para reproducir. .

@mystylemylife da pasos para reproducir. .
Se resolvió. Informé un error cuando así que agregué webpack.config.js y eliminé '@ babel / runtime' de @bestXie . No se informó ningún error, pero informé el error de la captura de pantalla anterior. Ahora elimine este js y actualice la versión de roadhog a 2.5.0-beta.4.

El proyecto anterior reinstaló el módulo nodem e informó un error. Mire el problema de [email protected]. <br i="5"/> Actualice

El proyecto antiguo reinstaló el módulo nodem e informó de un error. Mire el problema de [email protected] <br i="6"/> Actualice

Simplemente actualice la versión de roadhog a 2.5.0-beta.4

importar {createBrowserHistory} del 'historial' 或 importar {createHashHistory} del 'historial'

Han pasado unos meses y es realmente un barco ladrón.

El antiguo proyecto reinstaló el módulo nodem e informó un error. Mire el problema de [email protected] <br i="7"/> Actualice

Simplemente actualice la versión de roadhog a 2.5.0-beta.4

Este problema también ocurrirá al actualizar la versión de roadhog a 2.5.0-beta.4

resolver:

  1. En la carpeta node_modules en la carpeta dva del proyecto, modifique lib/index.js
  2. Encuentre esta línea de código de la siguiente manera
var _createHashHistory = _interopRequireDefault(require("history/createHashHistory"));
  1. Modifique la ruta en `require de la siguiente manera:
var _createHashHistory = _interopRequireDefault(require("history").createHashHistory);

Guarde y cierre el compilador, reinicie el servicio bien

¿Dva se siente sin mantenimiento?Este problema persiste durante tanto tiempo, ¿por qué está cerrado?

Resolver mediante proxy console.warn y 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);
          }
        };
      })();

Escribí un parche, cada vez antes de comenzar, reemplace ./node_modules/dva/lib/index.js require\\("history/createHashHistory"\\) con require("history").createHashHistory :

  1. añadir hilo -D reemplazar;
  2. Agregue el archivo patch.js en el directorio raíz, el contenido es el siguiente:
const replace = require("replace");

replace({
  regex: 'require\\("history/createHashHistory"\\)',
  replacement: 'require("history").createHashHistory',
  paths: ['./node_modules/dva/lib/index.js'],
  recursive: true,
  silent: true,
});
  1. En el aumento de package.json en el siguiente código, en un aumento de start antes del comando npm run patch && , aumentando "patch": "node ./patch.js" npm comando:
{
  ...
  "scripts": {
    "start": "npm run patch && cross-env APP_TYPE=site umi dev", // start命令之前先运行patch.js
    ...
    "patch": "node ./patch.js"
  },
  ...
}
¿Fue útil esta página
0 / 5 - 0 calificaciones