etalon_backend/themes/tps react/webpack.config.js

70 lines
1.4 KiB
JavaScript

const path = require('path');
module.exports = {
entry: path.resolve(__dirname, './src/index.js'),
output: {
path: path.resolve(__dirname, './public'),
filename: 'bundle.js',
publicPath: '/'
},
module: {
rules: [
{
test: /\.js$/,
enforce: "pre",
use: ["source-map-loader"],
},
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: [{
loader: 'babel-loader',
// query: {
// presets: ['es2015','react']
// },
options: {
cacheDirectory: true,
plugins: ['@babel/plugin-transform-runtime']
}
}]
},
{
test: /\.(sass|css|scss)$/i,
// s[ac]ss
use: [
// Creates `style` nodes from JS strings
"style-loader",
// Translates CSS into CommonJS
"css-loader",
// Compiles Sass to CSS
"sass-loader",
// "postcss-loader",
],
},
{
test: /\.(jpg|png|svg)$/,
use: {
loader: 'url-loader',
},
},
],
},
resolve: {
extensions: ['*', '.js', '.jsx'],
},
devServer: {
contentBase: path.resolve(__dirname, './public'),
writeToDisk: true,
historyApiFallback: true,
// inline:true,
port: 8001
// contentBase: './',
// hot: true
},
};