• webpack----7生产环境构建 配置文件


    npm install --save-dev webpack-merge

    开发环境(development)和生产环境(production)的构建目标差异很大。在开发环境中,我们需要具有强大的、具有实时重新加载(live reloading)或热模块替换(hot module replacement)能力的 source map 和 localhost server。而在生产环境中,我们的目标则转向于关注更小的 bundle,更轻量的 source map,以及更优化的资源,以改善加载时间。由于要遵循逻辑分离,我们通常建议为每个环境编写彼此独立的 webpack 配置。
    webpack.common.js
    const path = require('path');
    // const CleanWebpackPlugin = require('clean-webpack-plugin');
    const {CleanWebpackPlugin} = require('clean-webpack-plugin');//加{}否则会报错
    const HtmlWebpackPlugin = require('html-webpack-plugin');


    module.exports = {
      entry: {
        app: './src/index.js'
      },
      plugins: [
        new CleanWebpackPlugin(),  //(['dist'])官网里面加这个会报错了去掉了
        new HtmlWebpackPlugin({
          title: 'Production'
        })
      ],
      output: {
        filename: '[name].bundle.js',
        path: path.resolve(__dirname, 'dist')
      }
    };



    /**  知识补充
     * https://www.cnblogs.com/cench/p/5800157.html
     * 
    */

    webpack.dev.js
    const merge = require('webpack-merge');
    const common = require('./webpack.common.js');

    module.exports = merge(common, {
     devtool: 'inline-source-map',
        devServer: {
            contentBase: './dist'
        }
    });




    /**  知识补充
     * webpack——devtool里的7种SourceMap模式
     * https://www.cnblogs.com/wangyingblog/p/7027540.html
     * 
    */

    webpack.prod.js

    const webpack = require('webpack');
    const merge = require('webpack-merge');
    const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
    const common = require('./webpack.common.js');

    module.exports = merge(common, {
      plugins: [
       new UglifyJSPlugin({
        sourceMap: true
       }),
       new webpack.DefinePlugin({
        'process.env.NODE_ENV': JSON.stringify('production')
       })
      ]
     });
    //

    NPM Scripts配置

    "start": "webpack-dev-server --open --config webpack.dev.js",
        "server": "node server.js",
        "build": "webpack --config webpack.prod.js"
     
     
  • 相关阅读:
    隐藏 MOSS 2007 页面版本工具栏
    用于显示原始XML形式的搜索结果的XSLT
    MOSS 2007 日志设置
    在布局页面“文章页面中”添加,自定义UserControl
    MOSS 2007 最简单的自定义搜索框 SearchBox
    Asp.net常用状态管理方案分析
    提高asp.net的性能的几种方法(转)
    VS2005下如何用预编译命令来发布站点
    asp.net控件设计时支持(1)
    解决Enterprise Library January 2006不能加密配置文件的方法(转)
  • 原文地址:https://www.cnblogs.com/pikachuworld/p/11910764.html
Copyright © 2020-2023  润新知