webpack--分离

时间:2021-09-24 08:05:37   收藏:0   阅读:38

如何区分开发环境

目前我们所有的webpack配置信息都是放到一个配置文件中的:webpack.config.js

那么,在启动时如何可以区分不同的配置呢?

方案一:

1.创建三个文件夹

-config
-- webpack.comm.config.js 公共环境的配置文件
-- webpack.dev.config.js 开发环境下的配置文件
-- webpack.prod.config.js 生产环境下的配置文件

技术分享图片

2.配置 package.json

技术分享图片

3.分离代码
4. 代码合并

npm install webpack-merge -D

技术分享图片

5.代码

webpack.dev.config.js(开发环境配置文件)

/* 开发环境
 * @Date: 2021-09-18 20:58:43
 */
const {merge} = require(‘webpack-merge‘) //导入合并的包

const commonConfig = require(‘./webpack.comm.config‘)// 导入公共代码

module.exports = merge(commonConfig,{
    // development 开发阶段, 会设置development
    mode: "development",
    // 设置source-map, 建立js映射文件,方便调试
    devtool: "source-map",
    devServer:{
      // contentBase:"./public" // 项目构建后路径
      hot:true,// 开启HMR功能
      host:"0.0.0.0", // 同一局域网下通过ip可以访问此服务
      port:7777,// 端口号
      open:true,// 自动打开浏览器
      compress:true, // 自动gzip压缩
      proxy:{// 服务器代理, 解决开发环境跨域问题 
        ‘/api‘:{ // 当以api开头请求, 就会把请求转发到另外一个服务器(8888)
            target:‘http:localhost:8888‘,
            pathRewrite:{
                ‘^/api‘:‘‘// 请求路径重写; 将/api 替换成 ""空, 防止接口上多一个api字符
            }
        }
      }
    },
})

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

/* 生产环境
 * @Date: 2021-09-18 20:58:53
 */

const { CleanWebpackPlugin } = require("clean-webpack-plugin") // 自动删除
const CopyWebpackPlugin = require("copy-webpack-plugin") // 用来拷贝

const {merge} = require(‘webpack-merge‘) //导入合并的包
const commonConfig = require(‘./webpack.comm.config‘)// 导入公共代码

module.exports = merge(commonConfig,{
  // production 准备打包上线的时候, 会设置production
  mode: "production",
  plugins:[
    new CleanWebpackPlugin(),
    new CopyWebpackPlugin({
      patterns: [ // 匹配文件夹 可多个
        {
          from: "./public", // 从哪里开始复制 (从public里复制)
          to: "./",// 复制到哪里 (复制到打包后的build根目录)
          globOptions: {
            ignore: [ // 忽略的文件 (所有index.html文件)
              "**/index.html"
            ]
          }
        }
      ]
    }),
  ]
})

webpack.comm.config.js(公共环境的配置文件)
此处省略...

技术分享图片

5.打包成功

技术分享图片

技术分享图片

原文:https://www.cnblogs.com/cl1998/p/15310304.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!