Ich entwickle einige Lernprojekt behandeln TDD zu implementieren, webpack.Karma webpack - nicht CSS-Import in js
Ich benutze webpack 2 mit dem folgenden config:
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const webpack = require('webpack');
//const ExtractTextPlugin = require('extract-text-webpack-plugin');
const WebpackMd5Hash = require('webpack-md5-hash');
process.noDeprecation = true;
module.exports = {
entry: './src/js/index.js',
devtool: 'source-map',
context: __dirname,
target: 'web',
stats: 'errors-only',
watch: true,
output: {
path: path.resolve(__dirname, './dist'),
filename: 'js/[name].[chunkHash].js',
publicPath: '/',
},
module: {
rules: [
{
test: /\.jsx?$/,
include: [
path.resolve(__dirname, 'src')
],
exclude: [
path.resolve(__dirname, 'node_modules')
],
loader: 'babel-loader',
options: {
presets: ['es2015']
},
},
{
test: /\.css$/,
/*use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: "css-loader"
})*/
use: [ 'style-loader', 'css-loader' ]
}
]
},
plugins: [
new WebpackMd5Hash(),
//new ExtractTextPlugin('[name].[contenthash].css'),
new HtmlWebpackPlugin({
template: 'src/index.html',
filename: 'index.html',
minify: {
removeComments: true,
collapseWhitespace: true,
removeRedundantAttributes: true,
useShortDoctype: true,
removeEmptyAttributes: true,
removeStyleLinkTypeAttributes: true,
keepClosingSlash: true,
minifyJS: true,
minifyCSS: true,
minifyURLs: true
},
inject: true
}),
new webpack.optimize.UglifyJsPlugin()
],
devServer: {
contentBase: path.join(__dirname, "dist/"),
compress: true,
port: 8080
}
}
Wenn ich laufe einfach webpack es kompiliert und funktioniert einwandfrei. Aber wenn ich versuche Karma mit webpack Präprozessor zu laufen, es gibt die folgenden Fehler: Uncaught Error: Module parse failed: C:\Users\Javid\Desktop\projects\rejection\src\css\style.css Unexpected token (1:0) You may need an appropriate loader to handle this file type.
Ich benutze import '../css/style.css';
in meiner js-Datei. Viel gegoogelt, keine Lösung gefunden.
Lösung
I verwendet Additionaly raw-loader meine CSS zu handhaben und änderte meinen Import wie folgt aussehen: import css from 'raw-loader!../css/style.css';
versuchen:' verwenden: [{loader: 'style-loade r '}, {loader:' css-loader '}] ' –
Hat nicht geholfen. Ich denke, das Problem ist irgendwie mit Karma selbst, aber was kann ich nicht finden? Webpack selbst läuft in Ordnung. Vielleicht ist das Problem mit Karma Webpack Preprocessor, ich weiß nicht, wie es zu beheben ist. – askerovlab