vue-cli 如何获取系统变量并设置为项目的全局变量

  1. vue项目获取系统变量 需要用到node的process process对象是 Node 的一个全局对象,提供当前 Node 进程的信息。它可以在脚本的任意位置使用,process对象提供一系列属性,用于返回系统信息。 process.env:返回一个对象,成员为当前Shell的环境变量 比如process.env.HOME 这样子我们就可以在项目中拿到系统变量。
  2. vue-cli 设置全局变量 需要用到webpack自动化打包构建工具 webpack.DefinePlugin 这个插件
    这个插件用来定义全局变量,在webpack打包的时候会对这些变量做替换
    例子:
//webpack.config.js
var webpack = require('webpack');
var path = require('path');

module.exports = {
    entry: {
        index: "./js/index.js"
    },
    output: {
        path: "./dist/",
        filename: "js/[name].js",
        chunkFilename: "js/[name].js"
    },
    plugins: [
        new webpack.DefinePlugin({
            SOMETHINE: '"This is something we needed."'
        })
    ]
};
复制代码

这个SOMETHINE就是设置成了项目的全局变量 ,指定的值必须包括引号。 一般来讲,需要使用单引号'"production"'
3. 就是最后一步了

plugins: [
    new webpack.DefinePlugin({
        SOMETHINE: `'${process.env.SOMETHINE}'`
    })
]
这样子我们就把 系统变量设置成了我们的全局变量 
在项目中输出 SOMETHINE 就可以拿到 系统变量
复制代码

总结

后台每次动态修改域名 前段不需要每次域名更换的时候 修改前段api。

你可能感兴趣的:(vue-cli 如何获取系统变量并设置为项目的全局变量)