const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const htmlPlugin = new HtmlWebpackPlugin({
template: './src/index.html',
filename: './index.html'
});
module.exports = {
entry: './src/index.jsx',
resolve: {
alias: {
page: path.resolve(__dirname, 'src/page'),
component: path.resolve(__dirname, 'src/component')
}
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_module/,
use: {
loader: 'babel-loader',
options: {
presets: ['react', 'env'],
cacheDirectory: true,
plugins: [['import', { libraryName: 'antd', libraryDirectory: 'es', style: 'css' }]]
}
}
},
{
test: /\.css$/,
loader: 'style-loader!css-loader'
},
{
test: /\.(eot|woff|woff2|ttf)/,
loader: 'url-loader?limit=30000&name=fonts/[hash:8].[name].[ext]'
},
// {
// test: /\.css$/,
// exclude: /node_module/,
// use: [
// {
// loader: 'style-loader'
// },
// {
// loader: 'css-loader',
// options: {
// modules: true,
// importLoaders: 1,
// sourceMap: true,
// localIdentName: '[path][name]__[local]--[hash:base64:5]'
// }
// }
// ]
// },
{
test: /\.scss$/,
use: [
{
loader: 'style-loader'
},
{
loader: 'css-loader'
},
{
loader: 'sass-loader'
},
{
loader: 'sass-resources-loader',
options: {
resources: './src/style/resources.scss'
}
}
]
}
]
},
plugins: [htmlPlugin]
};