美文网首页
Vue-clis3 前端开发多配置切换

Vue-clis3 前端开发多配置切换

作者: 唐植超 | 来源:发表于2019-11-06 09:21 被阅读0次

多配置切换的好处是,前端开发人员可以配置自己开发服务器连接地址,并能轻松的切换成后端开发的服务器地址,进行联调,还不会引起提交后的代码冲突
项目结构 :

- mock   //模拟数据文件
- public  //静态资源文件
- shell   // 脚本文件
  - changeConfig.js  //切换配置代码
- src //vue 项目文件
- package.json //不解释
- vue.config.dev.js //开发环境的 vue 配置
- vue.config.prod.js // 测试联调的环境配置
- vue.config.js  // 运行时配置

vue.config.dev.js 内容:

var path = require('path');

const Config = require('webpack-chain');
const config = new Config();
function resolve (dir) {
    return path.join(__dirname, dir)
}
module.exports = {
    publicPath:'/',
    indexPath:path.resolve(__dirname, '../dist/templates/index.ftl'), // 打包后html输出路径
    outputDir: path.resolve(__dirname, '../dist/static'), //打包后 js,css,图片等输出路径
    transpileDependencies: [
       
    ],
    configureWebpack: {
        // 引入外部依赖,排除包
        externals: {
            
        }
         
    },

    //去掉打包js里边的source map文件
    productionSourceMap: false,
    chainWebpack:()=>{
    },
  devServer: {
    proxy: {
      '/': {
      target: 'http://localhost:8000/' ,//前端开发模拟环境
        ws: false,
        changeOrigin: true,
        secure: false
      }
    }
  },
   pages: {
          index: {
              // page 的入口
              entry: "src/main.js",
              // 模板来源
              template: "public/index.html",
              // 在 dist/index.html 的输出
              filename: "index.html",
              // 当使用 title 选项时,
              // template 中的 title 标签需要是 <%= htmlWebpackPlugin.options.title %>
              title: "vue 项目",
              // 在这个页面中包含的块,默认情况下会包含
              // 提取出来的通用 chunk 和 vendor chunk。
              chunks: ["chunk-vendors", "chunk-common", "index"]
          }
      },
    pluginOptions:{

    }

}

vue.config.prod.js 内容

var path = require('path');

const Config = require('webpack-chain');
const config = new Config();
function resolve (dir) {
    return path.join(__dirname, dir)
}
module.exports = {
    publicPath:'/',
    indexPath:path.resolve(__dirname, '../dist/templates/index.ftl'), // 打包后html输出路径
    outputDir: path.resolve(__dirname, '../dist/static'), //打包后 js,css,图片等输出路径
    transpileDependencies: [
       
    ],
    configureWebpack: {
        // 引入外部依赖,排除包
        externals: {
            
        }
         
    },

    //去掉打包js里边的source map文件
    productionSourceMap: false,
    chainWebpack:()=>{
    },
  devServer: {
    proxy: {
      '/': {
        target: 'http://www.testvue.com/',//测试联调地址
        ws: false,
        changeOrigin: true,
        secure: false
      }
    }
  },
   pages: {
          index: {
              // page 的入口
              entry: "src/main.js",
              // 模板来源
              template: "public/index.html",
              // 在 dist/index.html 的输出
              filename: "index.html",
              // 当使用 title 选项时,
              // template 中的 title 标签需要是 <%= htmlWebpackPlugin.options.title %>
              title: "vue 项目",
              // 在这个页面中包含的块,默认情况下会包含
              // 提取出来的通用 chunk 和 vendor chunk。
              chunks: ["chunk-vendors", "chunk-common", "index"]
          }
      },
    pluginOptions:{

    }

}

changeConfig.js js 内容:

var options = process.argv; //获取命令行传入参数
var shell = require('shelljs')  //引入shelljs
console.log("start change config index.js")
console.log("change to :" + options[2])
console.log("----------------------------")
shell.cp("vue.config." + options[2] + ".js", "vue.config.js"); //将dev 或者 prod 覆盖 vue.config.js
console.log("change config index.js finished")

操作步骤:

1. npm install npm-run-all -D //安装npm-run-all 
2.npm install shelljs -D //安装shelljs:  
3.package.json script 增加:
     "changeToDev": "node ./shell/changeConfig.js dev",  //切换到前端开发配置文件
    "changeToProd": "node ./shell/changeConfig.js prod", //切换到后端联调配置文件
    "startForDev": "npm-run-all -l -p -s buildTheme changeToDev serve", //切换开发并启动
    "startForProd": "npm-run-all -l -p -s buildTheme changeToProd serve" //切换联调并启动
    

运行操作:

npm run startForDev //前端开发
npm run startForProd // 后端联调

缺点:
不得在vue.config.js 中改配置,只能在其他两个文件中修改

相关文章

网友评论

      本文标题:Vue-clis3 前端开发多配置切换

      本文链接:https://www.haomeiwen.com/subject/gaysbctx.html