123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- 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]
- };
|