webpack.prod.js(webpack生产环境配置文件)

生产环境:只打包不运行本地服务器


对于在config目录下的webpack.prod.js    

1.在根目录下运行

npx webpack --config ./config/webpack.prod.js

2.在package.json文件中配置

"build":"npx webpack --config ./config/webpack.prod.js"

const path =require('path')
const ESLintPlugin = require('eslint-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports={
    //入口
    //输出
    //加载器
    //插件
    //模式
    entry:"./src/main.js",//相对路径
    output:{
        //文件的输出路径 __dirname:当前文件的文件夹目录
        path:path.resolve(__dirname,"../dist"),//绝对路径 path是所有文件的输出路径
        //入口文件打包输出的文件名
        filename:"static/js/main.js",
        clean: true,//每次打包前清理上一次打包的内容
    },
    module:{
        rules:[
            //loader的配置
            {
                test: /\.css$/, //只检测.css文件
                use: [//执行顺序从右到左,从下到上
                'style-loader', //将js中的css通过创建style标签添加到html文件中生效
                'css-loader'],//将css资源编译成common.js到webpack中
              },
              {
                test: /\.less$/i,
                //loader:"xxx" 只能使用一个loader use可以使用多个
                use: [
                  // compiles Less to CSS
                  'style-loader',
                  'css-loader',
                  'less-loader',
                ],
              },
              {
                test: /\.s[ac]ss$/i,
                use: [
                  // 将 JS 字符串生成为 style 节点
                  'style-loader',
                  // 将 CSS 转化成 CommonJS 模块
                  'css-loader',
                  // 将 Sass 编译成 CSS
                  'sass-loader',
                ],
              },
              {
                test: /\.styl$/,
                // loader: 'stylus-loader', // 将 Stylus 文件编译为 CSS
                use: [
                  // compiles Less to CSS
                  'style-loader',
                  'css-loader',
                  'stylus-loader',
                ],

              },
              {
                test: /\.(png|jpe?g|gif|webp|svg)$/,
                type: 'asset',
                parser: {
                  dataUrlCondition: {
                    //小于10kb的图片转base64 减少请求数量 但是体积会大一点
                    maxSize: 10 * 1024 // 10kb
                  }
                },
                generator: {
                  filename: 'static/images/[hash:10][ext][query]'
                  //图片命名有点长 [hash:10]只取十位
                }
              },{
                test: /\.(ttf|woff2?)$/,
                type: 'asset/resource',
                generator: {
                  filename: 'static/fonts/[hash:10][ext][query]'
                }
              },{
                test: /\.(mp3|mp4|avi)$/,
                type: 'asset/resource',
                generator: {
                  filename: 'static/media/[hash:10][ext][query]'
                }
              }, {
                test: /\.js$/,
                exclude: /(node_modules)/,//排除node_modules中的js文件
                use: {
                  loader: 'babel-loader',
                  // options: {
                  //   presets: ['@babel/preset-env'],
                  // },
                },
              }
        ]
    },
    //插件需要引用才能使用
    plugins:[
        //插件的配置
        new ESLintPlugin({
          //检测哪些文件
          context: path.resolve(__dirname,'../src'),
        }),
        new HtmlWebpackPlugin({
          //模版 新的html文件结构与原来一致 会自动引入打包的资源
          template:path.resolve(__dirname,'../public/index.html')
        })
    ],
    //模式
    mode:"production",
}

相关推荐

  1. webpack.prod.js(webpack生产环境配置文件

    2024-03-28 09:32:07       44 阅读
  2. webpack生产环境下的配置

    2024-03-28 09:32:07       29 阅读
  3. vue-cli使用环境配置文件env

    2024-03-28 09:32:07       51 阅读
  4. package.json 脚本配置使用环境文件

    2024-03-28 09:32:07       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-28 09:32:07       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-28 09:32:07       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-28 09:32:07       87 阅读
  4. Python语言-面向对象

    2024-03-28 09:32:07       96 阅读

热门阅读

  1. Web工程化 (webpack)

    2024-03-28 09:32:07       45 阅读
  2. 数据结构之队列

    2024-03-28 09:32:07       41 阅读
  3. 一个简单的自执行函数--webpack

    2024-03-28 09:32:07       36 阅读
  4. git 代码管理仓库/安装部署

    2024-03-28 09:32:07       44 阅读
  5. Linux | CLI arguments 和 Environment variables 是什么

    2024-03-28 09:32:07       36 阅读
  6. Cocoapods版本更新与切换

    2024-03-28 09:32:07       39 阅读
  7. C语言 数组声明

    2024-03-28 09:32:07       37 阅读
  8. Problem reading font data问题(Docker版)

    2024-03-28 09:32:07       43 阅读