halo-render/webpack.dev.js

71 lines
1.8 KiB
JavaScript

const path = require("path")
const HtmlWebpackPlugin = require("html-webpack-plugin");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const CopyPlugin = require("copy-webpack-plugin");
module.exports = {
watch: true,
entry: {
"index.js": './demo/index.js'
},
output: {
path: path.resolve(__dirname, "demo/dist"),
filename: "[name]"
},
resolve: {
extensions: ['.js', '.ts', '.png', '.less'],
},
module: {
rules: [
{
test: /.(woff2?|eot|ttf|otf)(.*)?$/,
exclude: "/node-modules/",
loader: "file-loader"
},
{
test: /\.tsx?$/,
use: "ts-loader",
exclude: "/node-modules/"
},
{
test: /\.less$/,
use: [
MiniCssExtractPlugin.loader,
{
loader: 'css-loader', // translates CSS into CommonJS
options: {
url: false,
},
},
"less-loader"
]
}
]
},
mode: "development",
plugins: [
new HtmlWebpackPlugin({
chunks: ['index.js'],
filename: "index.html",
template: "./demo/index.html"
}),
new MiniCssExtractPlugin({
filename: "index.css"
}),
new CopyPlugin({
patterns: [
{from: "src/fonts", to: "fonts"},
{from: "src/icons", to: "icons"},
{from: "types", to: ""}
]
})
],
devServer: {
static: {
directory: path.join(__dirname , 'assets'),
},
port: 9000,
host: "0.0.0.0"
}
}