J'étais installer une startUpapp et ajouter Webpack mais il dit Can't resolve './src/index.js'
MY Files Path et Package.josn it
webpack.config.js Fichiers:
var debug = process.env.NODE_ENV !== "production";
var webpack = require('webpack');
var path = require('path');
module.exports = {
context: path.join(__dirname, "public"),
devtool: debug ? "inline-sourcemap" : false,
entry: "./src/index.js",
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader',
query: {
presets: ['react', 'es2016', 'stage-0'],
plugins: ['react-html-attrs', 'transform-decorators-legacy', 'transform-class-properties'],
}
}
]
},
output: {
path: __dirname + "/public/",
filename: "build.js"
},
plugins: debug ? [] : [
new webpack.optimize.DedupePlugin(),
new webpack.optimize.OccurrenceOrderPlugin(),
new webpack.optimize.UglifyJsPlugin({ mangle: false, sourcemap: false }),
],
};
votre URL de base est path.join(__dirname, "public")
et l'entrée est ./src/index.js
. Webpack essaie de trouver ./src/index.js
dans public
dir, ce n’est évidemment pas. Vous devriez modifier entry
en ../src/index.js
L'autre façon de résoudre ce problème consiste à utiliser path.resolve()
.
const path = require('path');
module.exports = {
mode: "production",
entry: path.resolve(__dirname, 'src') + 'path/to/your/file.js',
output: {
/*Webpack producing results*/
path: path.resolve(__dirname, "../src/dist"),
filename: "app-bundle.js"
}
}
Cela garantira que Webpack recherche un point d’entrée dans le répertoire src
.
Au fait, c'est le point d'entrée par défaut. Vous pouvez également modifier ce point d’entrée à l’emplacement qui vous convient. Il suffit de remplacer le répertoire src
par l’autre répertoire que vous souhaitez utiliser.
Le chemin d'entrée est relatif au contexte. Il recherche un fichier dans public/src/
lorsque vous souhaitez qu'il recherche un chemin dans juste /src
. En regardant le reste de votre webpack.config.js
, il ne semble pas que vous ayez besoin de la ligne de contexte.