Ich habe eine reag startUpapp installiert und Webpack hinzugefügt, aber es heißt Can't resolve './src/index.js'
MY Files Files und Package.josn es
webpack.config.js Dateien aussehen:
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 }),
],
};
ihre Basis-URL ist path.join(__dirname, "public")
und der Eintrag ist ./src/index.js
. Webpack versucht, ./src/index.js
in public
dir zu finden, offensichtlich existiert es nicht. Sie sollten entry
in ../src/index.js
ändern.
Die andere Möglichkeit, dieses Problem zu beheben, besteht in der Verwendung von 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"
}
}
Dadurch wird sichergestellt, dass das Webpack nach einem Einstiegspunkt im Verzeichnis src
sucht.
Übrigens ist dies der Standardeinstiegspunkt. Sie können diesen Einstiegspunkt auch an Ihren geeigneten Ort ändern. Ersetzen Sie einfach das Verzeichnis src
durch das andere Verzeichnis, das Sie verwenden möchten.
Der Eingabepfad ist relativ zum Kontext. Es sucht nach einer Datei in public/src/
, wenn Sie nur in /src
nach einem Pfad suchen möchten. Wenn Sie den Rest Ihres webpack.config.js
betrachten, scheint es nicht, als würden Sie die Kontextzeile überhaupt benötigen.
Meine webpack.config.js hieß Webpack.config.js und die neue CLI suchte nach Groß- und Kleinschreibung.