代码拉取完成,页面将自动刷新
const path = require('path');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
const TerserPlugin = require("terser-webpack-plugin");
module.exports = {
mode: 'production',
entry: ['./index.js'],
output: {
path: path.resolve(__dirname, '.'),
filename: './dist/JoyDialog.js',
// library: 'MA',
// libraryTarget: 'umd'
},
module: {
rules: [
{
//匹配哪些文件
test: /\.css$/,
//使用哪些loader进行处理
use:[
MiniCssExtractPlugin.loader,
'css-loader',
]
},
{
test: /(iconfont.svg)|\.(woff|woff2|eot|ttf|otf)$/,
use: [
{
loader: 'file-loader',
options: {
name: '[name].[ext]', //[path] 上下文环境路径
publicPath: './iconfont/', //公共路径
outputPath: 'dist/iconfont/', //输出路径
}
}
]
},
{
test: /\.ts$/,
use: ['babel-loader'],
exclude: [path.resolve(__dirname, 'node_modules')]
},
{
test:/\.md$/,
loader:'vue-markdown-loader',
// options:vueMarkdown,
},
]
},
resolve: {
extensions: ['.js', '.css', '.json'],
},
devServer:{
port:8088,
// host:'0.0.0.0',
// contentBase: path.join(__dirname, "src/demo/demo.html"),
},
plugins: [
new MiniCssExtractPlugin({
filename: 'dist/JoyDialog.css',
}),
// new ExtractTextPlugin({ filename: 'dist/JoyDialog.css', allChunks: false })
// , new HtmlWebpackPlugin({
// template: 'src/demo/demo.html', // 输入文件
// filename: 'src/demo/demo.html', // 输出文件
// })
// ,new BundleAnalyzerPlugin({ analyzerPort: 8919 }) // 预览打包后的文件大小组成
],
optimization: {
minimize: true, // 可省略,默认最优配置:生产环境,压缩 true。开发环境,不压缩 false
minimizer: [
new TerserPlugin() ,
new CssMinimizerPlugin(),
]
},
devtool: 'cheap-module-source-map',
};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。