webpack插件及配置
程序员文章站
2022-07-12 19:54:06
...
const path = require('path')
// html打包
const htmlWebpackPlugin = require('html-webpack-plugin')
// js压缩
const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
// 打包前删除之前包
const { CleanWebpackPlugin } = require('clean-webpack-plugin')
// 独立打包css
const ExtractTextPlugin = require("extract-text-webpack-plugin")
// copy src目录下文件至打包文件
const CopyWebpackPlugin = require('copy-webpack-plugin')
module.exports = {
//mode development: 开发环境 production:生产环境
mode: 'development',
//entry 入口文件配置
entry: {
index: './src/main.js',
},
//打包完成后文件输出位置配置
output: {
//filename 设置打包后文件的名字
//如果不设置filename,则文件的名字跟入口文件路径的属性名一样
filename: '[name].js',
//path 设置打包完成后文件输出路径
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [
{
// js 文件才使用 babel
test: /\.js$/,
// 使用哪个 loader
use: 'babel-loader',
// 不包括路径
exclude: /node_modules/
},
{
test: /\.css$/,
loader: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: [{
loader: 'css-loader',
options: {
modules: true
}
}]
})
}
],
},
plugins: [
new htmlWebpackPlugin({
template: './src/index.html'
}),
new UglifyJsPlugin(),
// 输出的文件路径
new ExtractTextPlugin("/css/[name].[hash].css"),
new CopyWebpackPlugin([ //src下其他的文件直接复制到dist目录下
{ from: 'src/css', to: 'css/' }
]),
new CleanWebpackPlugin()
],
// devServer: {
// contentBase: './dist',
// open: true, //自动打开浏览器
// // port: 8080, //默认8080
// }
}
上一篇: Spring Task定时设置
下一篇: webpack插件的配置
推荐阅读
-
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
-
Apache与Tomcat服务器整合的基本配置方法及概要说明
-
前端笔记之Vue(一)初识SPA和Vue&webpack配置和vue安装&指令
-
ipad air2跑分多少?苹果ipad air2跑分及配置评测
-
使用 webpack 各种插件提升你的开发效率
-
linux NFS安装配置及常见问题、/etc/exports配置文件、showmount命令
-
SpringMVC拦截器配置及运行流程解析
-
vue+webpack中配置ESLint
-
华为荣耀平板怎么样?荣耀平板配置及性价比评测
-
Nginx中的root&alias文件路径及索引目录配置详解