commas
This commit is contained in:
88
frontend/webpack/webpack.common.js
Normal file
88
frontend/webpack/webpack.common.js
Normal file
@@ -0,0 +1,88 @@
|
||||
/* eslint-disable import/no-extraneous-dependencies */
|
||||
|
||||
const { ProgressPlugin } = require('webpack');
|
||||
const convert = require('koa-connect');
|
||||
const history = require('connect-history-api-fallback');
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
const ScriptExtHtmlWebpackPlugin = require('script-ext-html-webpack-plugin');
|
||||
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
||||
const commonPaths = require('./paths');
|
||||
const Environment = require('./Environment');
|
||||
|
||||
module.exports = {
|
||||
mode: Environment[process.env.NODE_ENV],
|
||||
entry: commonPaths.entryPath,
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.(js|jsx)$/,
|
||||
loader: 'babel-loader',
|
||||
exclude: /(node_modules)/,
|
||||
options: {
|
||||
presets: ['@babel/preset-env'],
|
||||
},
|
||||
},
|
||||
{
|
||||
enforce: 'pre',
|
||||
test: /\.(js|jsx)$/,
|
||||
loader: 'eslint-loader',
|
||||
exclude: /(node_modules)/,
|
||||
options: {
|
||||
// emitWarning: process.env.NODE_ENV !== Environment.production,
|
||||
emitWarning: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /\.(png|jpg|gif|svg)$/,
|
||||
use: [
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
outputPath: commonPaths.imagesFolder,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
test: /\.(woff2|ttf|woff|eot)$/,
|
||||
use: [
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
outputPath: commonPaths.fontsFolder,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
serve: {
|
||||
add: (app) => {
|
||||
app.use(convert(history()));
|
||||
},
|
||||
content: commonPaths.entryPath,
|
||||
dev: {
|
||||
publicPath: commonPaths.outputPath,
|
||||
},
|
||||
open: false,
|
||||
},
|
||||
resolve: {
|
||||
modules: ['src', 'node_modules'],
|
||||
extensions: ['*', '.js', '.jsx', '.css', '.scss'],
|
||||
},
|
||||
plugins: [
|
||||
new ProgressPlugin(),
|
||||
new HtmlWebpackPlugin({
|
||||
template: commonPaths.templatePath,
|
||||
}),
|
||||
new ScriptExtHtmlWebpackPlugin({
|
||||
defaultAttribute: 'async',
|
||||
}),
|
||||
new CopyWebpackPlugin({
|
||||
patterns: [{
|
||||
from: commonPaths.assetOriginPath,
|
||||
to: commonPaths.assetPath,
|
||||
}],
|
||||
}),
|
||||
],
|
||||
};
|
||||
Reference in New Issue
Block a user