Bootstrap-multiselect: Module introuvable : erreur : impossible de résoudre "knockout" dans "~/node_modules/bootstrap-multiselect/dist/js"

Créé le 4 déc. 2019  ·  8Commentaires  ·  Source: davidstutz/bootstrap-multiselect

Face à ce problème avec ^ 0.9.13-1 :

ERREUR dans ./~/bootstrap-multiselect/dist/js/bootstrap-multiselect.js
Module introuvable : erreur : impossible de résoudre "knockout" dans "/Users/Downloads/projectX/node_modules/bootstrap-multiselect/dist/js"
@ ./~/bootstrap-multiselect/dist/js/bootstrap-multiselect.js 51:8-47
@ ./public/javascripts/datatable-gc.js
@ ./public/javascripts/speciesTree.js
@ ./public/javascripts/render_viewer.js
@ multi webpack-hot-middleware/client ./public/javascripts/render_viewer.js

Commentaire le plus utile

J'ai aussi eu ça en conjonction avec
AVERTISSEMENT dans ./node_modules/bootstrap-multiselect/dist/js/bootstrap-multiselect.js
48:48-55 Dépendance critique : la fonction require est utilisée de manière à ce que les dépendances ne puissent pas être extraites statiquement

Je remarque dans le journal des modifications de ce paquet que du travail a été fait en ce qui concerne l'utilisation de requirejs ou de require etc, je ne le comprends pas moi-même car je ne sais pas quelles modifications ont été apportées et dans quel but. Mais peut voir le motif

@davidstutz - y a-t-il une raison pour laquelle la liste devDependencies dans package.json sur la balise 0.9.15 est différente de ce que vous obtenez lorsque vous le téléchargez à partir de NPM ? c'est-à-dire que knockout n'est pas inclus dans le package repos.json n'importe où, mais lorsque vous le téléchargez à partir de npm, il contient knockout: "*".

Tous les 8 commentaires

Même problème après la mise à jour vers la dernière version.
Des idées?

Pas encore de solution, toutes les références sont à jour également.

J'ai aussi eu ça en conjonction avec
AVERTISSEMENT dans ./node_modules/bootstrap-multiselect/dist/js/bootstrap-multiselect.js
48:48-55 Dépendance critique : la fonction require est utilisée de manière à ce que les dépendances ne puissent pas être extraites statiquement

Je remarque dans le journal des modifications de ce paquet que du travail a été fait en ce qui concerne l'utilisation de requirejs ou de require etc, je ne le comprends pas moi-même car je ne sais pas quelles modifications ont été apportées et dans quel but. Mais peut voir le motif

@davidstutz - y a-t-il une raison pour laquelle la liste devDependencies dans package.json sur la balise 0.9.15 est différente de ce que vous obtenez lorsque vous le téléchargez à partir de NPM ? c'est-à-dire que knockout n'est pas inclus dans le package repos.json n'importe où, mais lorsque vous le téléchargez à partir de npm, il contient knockout: "*".

toute mise à jour?

Vous pouvez essayer d'ajouter ces lignes à webpack.config.js

plugins: [
  new webpack.ProvidePlugin({
      jQuery: 'jquery',
      'window.jQuery': 'jquery',
  })
],
...
resolve: {
    ...
    alias: {
      // path to your jquery in node_modules
      'jquery': path.resolve(__dirname, 'node_modules/jquery/dist/jquery'),
    }
},
...
module: {
    rules: [
      ...,
      {
        test: require.resolve('bootstrap-multiselect/dist/js/bootstrap-multiselect'),
        use: 'imports-loader?define=>false,this=>window',
      },
      ...
]

ça marche pour moi

Des mises à jour sur celui-ci?

Pour le projet Ruby on Rails avec webpacker, j'ai dû ajouter ceci à environment.js pour que cela fonctionne :

environment.loaders.append('this-window', {
  test: /bootstrap-multiselect/,
  use: [
    {
      loader: 'imports-loader',
      options: {
        wrapper: 'window',
        additionalCode: 'var define = false;',
      },
    },
  ],
});

+ yarn add imports-loader . Il affiche toujours deux avertissements lors de la compilation mais fonctionne.

J'ai installé bootstrap-multiselect 0.9.15 et j'ai eu l'erreur Module not found: Can't resolve 'knockout' in '/Users/aroshasumanaweera/node_modules/bootstrap-multiselect/dist/js .
Ma solution de contournement consistait à installer knockout pour des raisons de dépendance,
qui a fonctionné !!.
Courez npm i knockout

Cette page vous a été utile?
0 / 5 - 0 notes