将环境变量公开到VueJs,WebPack中的其他js文件

时间:2018-10-24 07:48:46

标签: javascript vue.js webpack vuejs2 development-environment

我正在尝试将环境变量公开给其他js文件。 因此,我还有其他的JS文件经过结构化,因此api和模型位于其自己的文件和文件夹中,当我要使用它们时,我将使用

导入它
import Auth from '@services/api/auth'

在该文件中,我想公开环境变量,例如我如何在vue组件脚本文件中做到这一点

<script>
import login from '@/components/view/login/login'

export default {
    components: {
        login
    },
    created () {
        console.log(process.env.API_BASE_URL)
    }
}
</script>

因此,我正在将标准Vue 2.5与Webpack 3.1配合使用,目前可以在process.env.API_BASE_UR文件中调用.vue L,但是如果我尝试在导入的.js文件中调用它,则无法定义。

import Axios from 'axios'

export default {
    login (username, password) {
        return new Promise((resolve, reject) => {
            console.log(process.ENV.API_BASE_URL)
            let url = process.ENV.API_BASE_URL + 'oauth2/token'
            let body = {
                username: username,
                password: password,
                scope: process.ENV.API_SCOPE.LOGIN.scope,
                grant_type: process.ENV.API_SCOPE.LOGIN.grant_type
            }
            let header = {
                auth: {
                    username: process.ENV.API_CLIENT.LOGIN.username,
                    password: process.ENV.API_CLIENT.LOGIN.password
                }
            }
            return Axios.post(url, body, header)
                .then(res => {
                    resolve(res)
                })
                .catch(err => {
                    reject(err)
                })
        })
    }
}

0 个答案:

没有答案