2017-09-25 54 views
1

我正在使用Vue.js 2.0Laravel。 Laravel有一个.env文件,允许你做:Laravel Vue env变量在哪里?

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

但是如果我想我的变量barVue.js组件,必须做这样的事情:

刀片

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

IN VUE

data { 
    ... 
    foo: bar 
} 

这似乎并不是实现理想结果的最优雅的方式。

我看到,当我运行npm run production剧本,还有就是做了一部分:

cross-env NODE_ENV=development ... 

所以我有2个问题:

  1. 哪里env文件development指的是,所以我可以添加我的变量吗?

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

回答

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 
    } 
} 
+0

第2个选项像做了什么我已经在做,另2需要我做的API调用我的凭据......很难相信这个平均堆栈是怎么做的。 – Grigio