Lorsque j'exécute la commande 'webpack', j'obtiens cette erreur:
ERREUR dans ./js/main.js Module introuvable: Erreur: impossible de résoudre 'jquery' dans '...\js' @ ./js/main.js 3: 0-16 4: 0-23
Dans package.json, j'ai:
"devDependencies": {
"handlebars": "^4.0.6",
"handlebars-loader": "^1.4.0",
"jquery": "^3.2.1",
"path": "^0.12.7"
},
dans webpack.config.js:
var path = require("path");
module.exports = {
entry: "./js/main.js",
output: {
path: __dirname + "/js",
filename: "scripts-bundled.js"
},
resolve: {
modules: [
path.join(__dirname, "js/helpers")
]
},
module: {
loaders: [
{test: /\.hbs$/, loader: "handlebars-loader"}
]
}
};
et dans main.js en haut du fichier, j'ai:
import $ from 'jquery';
J'utilise également le guidon dans main.js. Serait-ce que le guidon ou le guidon-chargeur interfère avec le jquery? J'ai déjà utilisé webpack et jquery sans ce problème dans un autre projet où je n'utilisais pas de guidon, mais cela n'a peut-être rien à voir avec cela.
Le guidon n'a rien à voir avec ça. Le problème est que vous avez changé resolve.modules
en [path.join(__dirname, "js/helpers")]
. Par conséquent, webpack ne cherchera dans js/helpers
Que n'importe quel module, mais jquery
et les autres dépendances de npm sont dans node_modules
. La valeur par défaut de resolve.modules
Est ["node_modules"]
. Vous devez également ajouter node_modules
Pour conserver la résolution régulière du module.
resolve: {
modules: [
path.join(__dirname, "js/helpers"),
"node_modules"
]
},
Eh bien dans mon cas, il s'agissait d'importer jquery au lieu de jQuery , c'est une configuration webpack:
externals: {
// require("jquery") is external and available
// on the global var jQuery
"jquery": "jQuery"
}
jetez un oeil à ceci: webpack Impossible de résoudre 'jquery'