2017-09-25 112 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