mooncake-cli
Version:
70 lines (61 loc) • 1.4 kB
JavaScript
const path = require('path')
const webpack = require('webpack')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const {resolvePath, getPages, pagePath} = require('./tool.js')
const multiplePages = getPages(pagePath).map(page => {
return new HtmlWebpackPlugin(page)
})
const basicConfig = {
module: {
rules: [{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
loader: 'babel-loader',
options: {
cacheDirectory: true
}
},
{
test: /\.(css|scss)$/,
use: [{
loader: 'style-loader'
},
{
loader: 'css-loader',
options: {
minimize: true
}
}, {
loader: 'sass-loader'
}, {
loader: 'postcss-loader',
options: {
plugins: () => [
require('autoprefixer')(),
require('postcss-px2rem')()
]
}
}
]
}
]
},
plugins: multiplePages.concat([
new webpack.ProvidePlugin({
API: resolvePath('src/utils/api.js')
})
]),
resolve: {
extensions: ['.js', '.jsx', '.css', '.scss']
},
resolveLoader: {
modules: [
path.resolve(__dirname, '../../node_modules')
]
},
externals: {
'react': 'React',
'react-dom': 'ReactDOM'
}
}
module.exports = basicConfig