Per
module: {
loaders: [
{
test: /\.js?/,
include: SRC_DIR,
loader: "babel-loader",
query: {
presets: ["react", "es2015", "stage-2"]
}
}
{
test: /\.css$/,
loader: ExtractTextPlugin.extract("style-loader", "css-loader")
}
{
test: /\.less$/,
loader: ExtractTextPlugin.extract("style-loader", "css-loader!less-loader")
}
]
},
plugins: [
new ExtractTextPlugin("style.css", {
allChunks: true
})
]
};
und in meinem Index.js ich als hinzugefügt haben unsere chat, das ist, was Ihre webpack.config.js
Datei ist wie folgt:
var path = require("path");
var DIST_DIR = path.resolve(__dirname, "dist");
var SRC_DIR = path.resolve(__dirname, "src");
var config = {
entry: SRC_DIR + "/app/index.js",
output: {
path: DIST_DIR + "/app",
filename: "bundle.js",
publicPath: "/app/"
},
module: {
loaders: [
{
test: /\.js?/,
include: SRC_DIR,
loader: "babel-loader",
query: {
presets: ["react", "es2015", "stage-2"]
}
}
{
test: /\.css$/,
loaders: ["style-loader", "css-loader", "sass-loader"]
}
{
test: /\.less$/,
loader: ExtractTextPlugin.extract("css-loader!sass-loader")
}
]
},
plugins: [
new ExtractTextPlugin("src/components/assets/css/style.css", {
allChunks: true
})
]
};
module.exports = config;
Es gibt zwei Probleme mit dieser Konfiguration.
- Es gibt keine Kommas, die die
loaders
Objekte trennen.
- Sie verwenden
ExtractTextPlugin
, aber nicht importiert/benötigt es irgendwo in der Konfig.
Problem # 1 ist ziemlich offensichtlich, wie man löst; fügen Sie einfach die Kommata nach jeder Definition eines Loader-Objekts hinzu.
Problem # 2 auch, müssen Sie installieren und Referenz ExtractTextPlugin
in Ihrer Webpack-Konfigurationsdatei.
Sie können dies tun, indem Sie den folgenden Befehl in das Terminal:
npm install --save-dev extract-text-webpack-plugin
Dies installiert das Plugin auf Ihre node_modules
und es auch in Ihrem package.json file under the
devDependencies` Objektliste.
Und dann in Ihrem webpack.config.js
wo Sie Module erfordern, benötigen auch das Plugin wie folgt:
const ExtractTextPlugin = require("extract-text-webpack-plugin");
Nachdem diese Änderungen vorgenommen haben, sollten Sie config-Datei wie folgt aussehen:
var path = require("path");
var ExtractTextPlugin = require("extract-text-webpack-plugin");
var DIST_DIR = path.resolve(__dirname, "dist");
var SRC_DIR = path.resolve(__dirname, "src");
var config = {
entry: SRC_DIR + "/app/index.js",
output: {
path: DIST_DIR + "/app",
filename: "bundle.js",
publicPath: "/app/"
},
module: {
loaders: [
{
test: /\.js?/,
include: SRC_DIR,
loader: "babel-loader",
query: {
presets: ["react", "es2015", "stage-2"]
}
},
{
test: /\.css$/,
loaders: ["style-loader", "css-loader", "sass-loader"]
},
{
test: /\.less$/,
loader: ExtractTextPlugin.extract("css-loader!sass-loader")
}
]
},
plugins: [
new ExtractTextPlugin("src/components/assets/css/style.css", {
allChunks: true
})
]
};
module.exports = config;
Was sagt der Fehler? Bitte laden Sie sich auch 'package.json' hoch. – brandNew
Unerwartetes Token (1: 0) Möglicherweise benötigen Sie einen geeigneten Loader, um diesen Dateityp zu verarbeiten. | .title { | Rand unten: 30px; | } @ ./src/app/index.js 16: 0-34 –
Probieren Sie 'loaders: [" style-loader "," css-loader "," sass-loader "]' 'und' ExtractTextPlugin.extract (" CSS-loader Sass-loader ")' – brandNew