搭建webpack构建环境(2)-分离配置文件

在分离配置文件之前,我们需要安装一个小工具webpack-merge ,当然你也可以用类似的,作用就是扩展对象

安装webpack-merge

npm i webpack-merge --save-dev

在webpack.config.js中修改

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const merge = require('webpack-merge');
const PATHS = {   
    app: path.resolve(__dirname, 'app'),
    build: path.resolve(__dirname, 'build')
};
const common = {
    entry: {
        app: PATHS.app
    },
    output: {
        path: PATHS.build,
        filename: '[name].js'
    },
    plugins: [
        new HtmlWebpackPlugin({            title: 'Webpack demo'        })
    ]
};
var config;
//process.env.npm_lifecycle_event获取npm run 后面的参数名称
switch(process.env.npm_lifecycle_event) {
    case 'build':
        config = merge(common, {});
        break;
    default:
        config = merge(common, {});
}
module.exports = config;

修改完之后,我们还是通过执行 npm run build执行构建.

验证插件

使用验证插件,在执行前验证我们的配置文件是否正确,这样有利于我们找到问题

安装验证插件

npm i webpack-validator --save-dev

引入配置文件中

...
const validate = require('webpack-validator');
...
module.exports = validate(config);

下一章内容

处理修改文件后使浏览器自动刷新

进入下一章-HMR配置

如果上述文章有什么问题,发现后请留言,本人看到后会立刻修改,以免给后来的童鞋造成错误的引导

本系列文章参考自surviceJS

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近在学习 Webpack,网上大多数入门教程都是基于 Webpack 1.x 版本的,我学习 Webpack 的...
    My_Oh_My阅读 12,521评论 40 247
  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 12,547评论 7 35
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,660评论 19 139
  • 在现在的前端开发中,前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等等一些原本后端的思想开始...
    Charlot阅读 10,843评论 1 32
  • 前言 WebPack 是什么? WebPack 是什么,WebPack 可以看做是模块打包机:它做的事情是,分析你...
    Promise__阅读 4,842评论 3 12