CSS モジュールを React コンポーネントで動作させようとしています。私のコードは次のとおりです。
import styles from './style.css';
const Header = () => {
return (
<header className={styles.main}></header>
)
};
export default Header;
CSSはただ
.main { background: red; }
そしてwebpack構成:
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var BrowserSyncPlugin = require('browser-sync-webpack-plugin');
var WebpackNotifierPlugin = require('webpack-notifier');
var precss = require('precss');
var autoprefixer = require('autoprefixer');
var path = require('path');
var sassLoaders = [
'css-loader?modules',
'postcss-loader?modules',
'sass-loader?sourceMaps&modules&includePaths[]=' + path.resolve(__dirname, './sass')
];
var config = {
entry: './app/index.js',
output: {
path: 'public',
filename: 'index.js'
},
sassLoader: {
includePaths: path.resolve(__dirname, './sass')
},
plugins: [
new WebpackNotifierPlugin({
title: 'Webpack',
alwaysNotify: true
}),
new ExtractTextPlugin('style.css'),
new BrowserSyncPlugin({
port: 7000,
ui: false,
proxy: 'http://localhost:3000/'
})
],
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel',
query: {
presets: ['es2015', 'react', 'stage-0']
}
},
{
test: /\.css$/,
loader: 'style!css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]'
},
{
test: /\.scss$/,
loader: ExtractTextPlugin.extract('style-loader', sassLoaders.join('!'))
}
]
},
postcss: function() {
return [
precss,
autoprefixer({ browsers: ['last 2 versions'] })
];
}
};
module.exports = config;
コードを実行したいときに問題が発生します。インクルードscss
するかcss
ファイルするかに関係なく、常に取得しています
[0] SyntaxError: style.css: Unexpected token (1:0)
[0] > 1 | .main {
[0] | ^
[0] 2 | background: red;
[0] 3 | }
私に何ができる?