Предоставьте переменные env другим js-файлам в VueJs, WebPack - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь открыть переменные env для других моих js-файлов.Итак, у меня есть другие JS-файлы, которые я структурировал так, чтобы API и модель жили в своих собственных файлах и папках, и когда я захочу использовать их, я импортирую их, используя

import Auth from '@services/api/auth'

И в этом файле я хотел бывыставить переменные env, например, как я могу это сделать в файле сценария компонентов 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 L внутри .vue файла, ноесли я пытаюсь вызвать это в импортированном файле .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)
                })
        })
    }
}
...