最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • webpack5以上抽离配置文件(生产开发分明)

    正文概述 掘金(奥奥奥)   2021-04-05   746

    1.为什么要分离配置文件

    在我们开发过程中,经常在webpack.config.js文件中配置很多东西,不管是开发环境下,还是生产环境下。但是当我们在生产环境下打包时,其实很多我们开发环境下的配置时用不到的。那么当我们把所有的配置写在一个文件中时,那时不太稳妥的。

    因此我们需要抽离配置文件。

    2.实施

    我们需要安装webpack-merge插件

     npm install webpack-merge --save-dev
    

    接着分离文件,将配置文件分为三个文件,分别时base.config、pron.config、dev.config

    其作用为

    base.config:公共配置抽离部分

    pron.config:生产环境相关配置

    dev.config: 开发环境相关配置

    接着我们可以使用merge进行配置文件的合并:

    dev.config.js文件代码

    const webpackmerge = require('webpack-merge');
    const baseConfig = require('./base.config');
    
    module.exports = webpackmerge(baseConfig, {
      devServer: {
        contentBase: path.resolve(__dirname, 'build'),
        inline: true,
        open: true
      }
    })
    

    prod.config.js文件代码

    const webpackmerge = require('webpack-merge');
    const baseConfig = require('./base.config');
    
    module.exports=webpackmerge(baseConfig,{
      mode: 'development'
    })
    

    base.config.js文件代码:

    const path = require('path');
    const webpack = require('webpack');
    const VueLoaderPlugin = require('vue-loader/lib/plugin');
    const HtmlWebpackplugin = require('html-webpack-plugin');
    module.exports = {
      entry: './src/index.js',
      output: {
        filename: 'built.js',
        path: path.resolve(__dirname, '../build')
      },
      module: {
        rules: [
          {
            test: /\.vue$/,
            use: ['vue-loader']
          }
        ]
      },
      resolve: {
        alias: {
          'vue$': 'vue/dist/vue.esm.js'
        }
      },
      plugins: [
        new VueLoaderPlugin(),
        new webpack.BannerPlugin('版权所有所有:小牲口online'),
        new HtmlWebpackplugin({
          template:'./index.html'
        })
      ],
    }
    

    最后我们还需要在package.json中配置打包时如何执行配置文件,因为webpack默认是只识别webpack.config.js配置文件的。

     "build": "webpack --config ./config/prod.config.js",
     "dev":"npx webpack serve --config ./config/dev.config.js"
    

    因为我这里使用的是webpack5以上的版本,因此dev-server的启动方式和webpack5以下的有所不同,详细可见官网

    这时我们的配置文件就算是配置成功了。

    3.总结

    虽然我们使用了三个文件来进行配置,而webpack.config.js只用了一个文件来进行配置,仿佛更加麻烦了,实际上在开发中,我们需要配置大量的内容,生产和开发分离是可取的,也是一种优化的写法。


    起源地下载网 » webpack5以上抽离配置文件(生产开发分明)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元