Dva: Après le démarrage, ouvrez la page et signalez une erreur Avertissement : veuillez utiliser `require("history").createHashHistory` au lieu de `require("history/createHashHistory")`.

Créé le 17 mars 2019  ·  16Commentaires  ·  Source: dvajs/dva

Code pour reproduire le problème : (veuillez fournir un code ou des étapes reproductibles)

1.dva nouvelle application
2. Créez un nouveau webpack.config.js avec le contenu suivant :
fonction d'exportation par défaut (webpackConfig) {
supprimer webpackConfig.resolve.alias['@babel/runtime'] ;
renvoyer webpackConfig ;
}
2.npm début

Comportement attendu : (effet normal attendu)

Le navigateur affiche la page normalement

Comportement réel : (effet réel)

Sortie de la console du navigateur Avertissement : veuillez utiliser require("history").createHashHistory au lieu de require("history/createHashHistory") . La prise en charge de ce dernier sera supprimée dans la prochaine version majeure

Versions des packages utilisés : (quelle version de quelle bibliothèque a le problème)

dva-cli version 0.10.0

Need Reproduce

Commentaire le plus utile

Est-ce que dva se sent non maintenu ?Ce problème existe toujours depuis si longtemps, pourquoi est-il fermé ?

Tous les 16 commentaires

WechatIMG24

Veuillez donner des étapes reproductibles.

1.dva nouvelle application
2. Créez un nouveau webpack.config.js avec le contenu suivant :
fonction d'exportation par défaut (webpackConfig) {
supprimer webpackConfig.resolve.alias['@babel/runtime'] ;
renvoyer webpackConfig ;
}
2.npm début
3. Console d'affichage du navigateur

index.js:2177 Avertissement : Veuillez utiliser require("history").createHashHistory au lieu de require("history/createHashHistory") . La prise en charge de ce dernier sera supprimée dans la prochaine version majeure.

Les informations d'avertissement sont ignorées et n'affectent pas l'utilisation, et seront résolues dans la prochaine version.

1.dva nouvelle application
2. Créez un nouveau webpack.config.js avec le contenu suivant :
fonction d'exportation par défaut (webpackConfig) {
supprimer webpackConfig.resolve.alias['@babel/runtime'] ;
renvoyer webpackConfig ;
}
2.npm début
3. Console d'affichage du navigateur

index.js:2177 Avertissement : Veuillez utiliser require("history").createHashHistory au lieu de require("history/createHashHistory") . La prise en charge de ce dernier sera supprimée dans la prochaine version majeure.

1.dva nouvelle application
2. Créez un nouveau webpack.config.js avec le contenu suivant :
fonction d'exportation par défaut (webpackConfig) {
supprimer webpackConfig.resolve.alias['@babel/runtime'] ;
renvoyer webpackConfig ;
}
2.npm début
3. Console d'affichage du navigateur

index.js:2177 Avertissement : Veuillez utiliser require("history").createHashHistory au lieu de require("history/createHashHistory") . La prise en charge de ce dernier sera supprimée dans la prochaine version majeure.

image
Comment ce problème est-il résolu ?Demander de l'aide

@mystylemylife donne des étapes pour se reproduire. .

@mystylemylife donne des étapes pour se reproduire. .

@mystylemylife donne des étapes pour se reproduire. .
Il a été résolu. J'ai signalé une erreur lorsque j'ai démarré [email protected] , j'ai donc ajouté webpack.config.js et supprimé '@babel/runtime' @bestXie . Aucune erreur n'a été signalée, mais j'ai signalé le erreur de la capture d'écran précédente. Maintenant, supprimez ce js et mettez à niveau la version roadhog vers 2.5.0-beta.4.

L'ancien projet a réinstallé le nodemodule et signalé une erreur. Regardez le problème de [email protected]. <br i="5"/> Mettez à jour

L'ancien projet a réinstallé le nodemodule et signalé une erreur. Regardez le problème de [email protected]<br i="6"/> Update

Il suffit de mettre à niveau la version roadhog vers 2.5.0-beta.4

importer { createBrowserHistory } depuis 'history' 或import { createHashHistory } depuis 'history'

Cela fait quelques mois maintenant, et c'est vraiment un navire voleur.

L'ancien projet a réinstallé le nodemodule et signalé une erreur. Regardez le problème de [email protected]<br i="7"/> Update

Il suffit de mettre à niveau la version roadhog vers 2.5.0-beta.4

Ce problème se produira également lors de la mise à niveau de la version roadhog vers 2.5.0-beta.4

résoudre:

  1. Dans le node_modules du dossier dva du projet, modifiez lib/index.js
  2. Trouvez cette ligne de code comme suit
var _createHashHistory = _interopRequireDefault(require("history/createHashHistory"));
  1. Modifiez le chemin dans `require comme suit :
var _createHashHistory = _interopRequireDefault(require("history").createHashHistory);

Enregistrez et fermez le compilateur, redémarrez le service très bien

Est-ce que dva se sent non maintenu ?Ce problème existe toujours depuis si longtemps, pourquoi est-il fermé ?

Résoudre par proxy natif console.warn et 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);
          }
        };
      })();

J'ai écrit un patch, à chaque fois avant de commencer, remplacez ./node_modules/dva/lib/index.js require\\("history/createHashHistory"\\) par require("history").createHashHistory :

  1. fil ajouter -D remplacer;
  2. Ajoutez le fichier patch.js dans le répertoire racine, le contenu est le suivant :
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. Dans l' package.json du code suivant, dans une start avant la commande npm run patch && , en augmentant "patch": "node ./patch.js" npm commande
{
  ...
  "scripts": {
    "start": "npm run patch && cross-env APP_TYPE=site umi dev", // start命令之前先运行patch.js
    ...
    "patch": "node ./patch.js"
  },
  ...
}
Cette page vous a été utile?
0 / 5 - 0 notes