jc-biz-components
Version:
jc component library based on Antd
109 lines (107 loc) • 3.21 kB
JavaScript
const path = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const autoprefixer = require('autoprefixer')
module.exports = {
entry: ['react-hot-loader/patch', './src/index.js'], // 入口文件,src下的index.js
output: {
path: path.resolve(__dirname, './dist'),
filename: '[name].[hash].js' // 这里name就是打包出来的文件名,因为是单入口,就是main,多入口下回分解
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
use: {
loader: 'babel-loader',
query: {
presets: ['env', 'stage-0', 'react'], // env转换es6 stage-0转es7 react转react,
plugins: ['react-hot-loader/babel'] // 增加
},
}
},
{
test: /\.css$/,
use: [
require.resolve('style-loader'),
{
loader: require.resolve('css-loader'),
options: {
importLoaders: 1
}
},
{
loader: require.resolve('postcss-loader'),
options: {
// Necessary for external CSS imports to work
// https://github.com/facebookincubator/create-react-app/issues/2677
ident: 'postcss',
plugins: () => [
require('postcss-flexbugs-fixes'),
// require('precss'),
autoprefixer({
browsers: [
'>1%',
'last 4 versions',
'Firefox ESR',
'not ie < 9' // React doesn't support IE8 anyway
],
flexbox: 'no-2009'
})
]
}
}
]
},
{
test: /\.less/,
use: [
require.resolve('style-loader'),
{
loader: require.resolve('css-loader'),
options: {
sourceMap: true,
modules: true,
localIdentName: '[name]_[local]_[hash:base64:8]',
importLoaders: 2
}
},
{
loader: require.resolve('postcss-loader'),
options: {
ident: 'postcss', // https://webpack.js.org/guides/migrating/#complex-options
plugins: () => [
require('postcss-flexbugs-fixes'),
autoprefixer({
browsers: [
'>1%',
'last 4 versions',
'Firefox ESR',
'not ie < 9' // React doesn't support IE8 anyway
],
flexbox: 'no-2009'
})
]
}
},
require.resolve('less-loader')
]
}
]
},
plugins: [
new HtmlWebpackPlugin({
inject: true,
template: path.resolve(__dirname, './index.html'),
})
],
resolve: {
extensions: ['.js', '.json', '.css']
},
devServer: {
contentBase: path.join(__dirname, './dist'), // 静态文件根目录
port: 8002, // 端口
host: 'localhost',
overlay: true,
compress: true // 服务器返回浏览器的时候是否启动gzip压缩
}
}