• vue-cli2.0 多环境打包配置


    https://www.jianshu.com/p/3afba55da012

    https://www.chensheng.group/2019/09/14/92-vue%E6%89%93%E5%8C%85%E9%85%8D%E7%BD%AE/

    一、需求

    在项目上线过程中,需要根据不同的环境来抽出公共的参数,比如请求域名和一些外部资源环境配置。


    以下就是今天的主题,关于vue-cli 2.x 多环境打包配置。

    二、操作

    整个操作所涉及到的部分,主要是包含package.json, 还有build目录下的文件 以及 config目录下的文件。

    1、配置package.json

    在package.json中的scripts中添加相关环境地址,我的环境添加如下:

    • build-devtest 为云测试环境
    • build-protest 为生产云测试环境

    下面我们以build-devtest来配置环境

    "scripts": {
        "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
        "start": "npm run dev",
        "build": "node build/build.js",
        "build-devtest": "node build/build.devtest.js",
        "build-protest": "node build/build.protest.js"
    }
    

    2、配置打包环境(build和config)

    1. 在config目录中配置devtest.env.js文件
    'use strict'
     module.exports = {
      NODE_ENV: '"devtest"'
     }
    
    1. 在build目录下拷贝build.js 并粘贴,改名字为build.devtest.js

      (1) 配置process.env.NODE_ENV = 'devtest'

      (2) const webpackConfig = require('./webpack.devtest.conf')

    2. 配置webpack.devtest.conf.js

      (1) 复制webpack.dev.conf.js, 并修改为webpack.devtest.conf.js

      (2) 配置 const env = require('../config/devtest.env')

    3、配置config/index.js文件(根据不同的环境,打包到不同的地址)

    index.js

    const processEnv = process.env.NODE_ENV;
    let buildFolder;
    
    // >>>>>>>>> 创建不同的打包地址
    if (processEnv == 'production') {
      buildFolder = 'dist-pro';  // 生产
    }
    
    if (processEnv == 'devtest') {
      buildFolder = 'dist-devtest';
    }
    
    ..........
    
    build: {
        // >>>>>>>>> 根据不同的地址,导出到不同的目录
        // Template for index.html
        index: path.resolve(__dirname, `../${buildFolder}/index.html`),
    
        // Paths
        assetsRoot: path.resolve(__dirname, `../${buildFolder}`),
        assetsSubDirectory: 'static',
        assetsPublicPath: './',
    
        /**
         * Source Maps
         */
    
        productionSourceMap: false,
        // https://webpack.js.org/configuration/devtool/#production
        devtool: '#source-map',
    
        // Gzip off by default as many popular static hosts such as
        // Surge or Netlify already gzip all static assets for you.
        // Before setting to `true`, make sure to:
        // npm install --save-dev compression-webpack-plugin
        productionGzip: false,
        productionGzipExtensions: ['js', 'css'],
    
        // Run the build command with an extra argument to
        // View the bundle analyzer report after build finishes:
        // `npm run build --report`
        // Set to `true` or `false` to always turn it on or off
        bundleAnalyzerReport: process.env.npm_config_report
      }
    
    .....
    
    

    三、结语

    了解和配置vue-cli 2.x的多环境打包配置,也是有利于同步学习webpack和node相关的知识! 继续加油呀!!!

  • 相关阅读:
    (转) Linux中profile、bashrc、bash_profile之间的区别和联系
    Ubuntu 安装MyEclipse10
    VMware_ubuntu设置共享文件夹
    (转载)Android出现“Read-only file system”解决办法
    Android 执行 adb shell 命令
    android传感器使用
    Android源码下载和编译过程
    jquery实现的ajax
    转载SQL_trace 和10046使用
    查看Oracle相关日志 ADRCI
  • 原文地址:https://www.cnblogs.com/dianzan/p/13151950.html
Copyright © 2020-2023  润新知