Ich habe versucht, dieses React + Relay-Beispiel einzurichten (https://github.com/RGRjs/rgrjs.com), und ich habe Probleme mit dem Auflösen des Pfades zu einem Webpack-Plugin für babel-loader. Wenn ich webpack in meinem Projektverzeichnis starte, erhalte ich die ReferenceError-Probleme, die meiner Meinung nach durch das Trennen von Plugin-Abhängigkeiten vom Webpack über den Kontext einzelner Dateien verursacht werden, die es zu erstellen versucht.webpack/babel-loader ReferenceError verursacht durch relative Pfadangabe
Details: ich mein Projekt als verknüpfte Repo strukturiert haben:
rgrjs:
├── data
| ├── schema.js
| └── header.html
├── js
| ├── app.js
| └── components
| | └── Main.js
├── public
| └── bundle.js
babelRelayPlugin.js
webpack.config.js
Und mit den webpack.config.js wie folgt einstellen:
var projectRoot = process.env.PWD;
console.log('Project Rooted at ' + projectRoot);
module.exports = {
context: projectRoot,
entry: "./js/app.js",
output: {
path: __dirname + "/public",
filename: "bundle.js"
},
resolveLoader: {
root: projectRoot
},
module:{
loaders: [
{
test:/\.js$/,
exclude: /node_modules/,
loader: 'babel-loader',
babelrc: false,
query: {
presets: ['react','es2015','stage-0'],
plugins: ['./babelRelayPlugin']
}
}
]
}
};
Wenn ich zu bauen versuchen, ich erhalte den folgenden Fehler:
ERROR in ./js/app.js Module build failed: ReferenceError: Unknown plugin "./babelRelayPlugin" specified in "base" at 0, attempted to resolve relative to ".../rgrjs/js"
Das referenzierte "babelRelayPlugin" ist in dem root "rgrjs" Verzeichnis (das sollte "./" relativ zu Webpack sein). Wenn ich die Plug-Pfaddefinition auf „../babelRelayPlugin“ wechsle, löst die ./js/app.js die Referenz, aber ich bekomme ein anderes Problem:
ERROR in ./js/components/Main.js Module build failed: ReferenceError: Unknown plugin "../babelRelayPlugin" specified in "base" at 0, attempted to resolve relative to ".../rgrjs/js/components"
Andere Lösungen scheinen/mit vorzuschlagen Auflösungs-/resolveLoader Kontext, aber es scheint nicht zu funktionieren, wie in der Konfigurationsdatei gesehen. Richte ich das falsch ein oder ist das ein echter Fehler?
Beste