Laravel Vue env变量在哪里?

时间:2017-09-25 18:33:15

标签: node.js laravel npm vue.js vuejs2

我在 Laravel 中使用 Vue.js 2.0 。 Laravel有一个.env文件,允许你这样做:

$foo = env('bar', 'somekey');

但如果我想在 Vue.js 组件中使用变量bar,则必须执行以下操作:

IN BLADE

var bar = '{{ env('bar') }}';

IN VUE

data {
    ...
    foo: bar
}

这似乎不是达到预期效果的最优雅方式。

我看到当我运行npm run production脚本时,有一部分可以执行:

cross-env NODE_ENV=development ...

所以我有两个问题:

  1. env 所指的development文件在哪里,我可以将变量添加到其中吗?

  2. 如何在Vue组件中访问这些变量?

1 个答案:

答案 0 :(得分:1)

不确定它是否正是您所寻找的,但这里有一篇关于“在Laravel / Vue应用程序中共享数据”的文章。 https://zaengle.com/blog/layers-of-a-laravel-vue-application

阅读“数据传输策略”部分。

//Blade Template
<script>
    window.Laravel = <?php echo json_encode([
         'csrf_token => csrf_token(),
         'user'      => $user
    ]); ?>
</script>

<my-custom-vue-component></my-custom-vue-component>


//Vue Component
data(){
    return {
        user: window.Laravel.user
    }
}