我有一個 vue 專案,它有多個 webpack 包。然而,一個頁面可能有多個包含多個組件的包,因此為了讓它們共享同一個存盤——我們需要一個單一的狀態。
webpack.mix.js
mix.js(['src/searchFilters.js'], 'dist/search-filter-components.js').vue({
version: 2,
options: {
shadowMode: true,
dontLeakScopedModules: false
}
});
mix.js('src/provider.js', 'dist/provider-components.js').vue({
version: 2,
options: {
shadowMode: true,
dontLeakScopedModules: false
}
});
我看到很多問題都被問到了,但仍然找不到解決方案。
然而,這些解決方案似乎只適用于匯入商店的第一個組件。對于來自匯入商店的不同包的下一個組件 - 計算的屬性不會重新計算!只是想知道是否有人遇到過這個問題,或者有沒有在不同的 webpack 包之間共享 vuex 存盤的解決方案。提前致謝。
uj5u.com熱心網友回復:
行。我找到了解決辦法。我可能不是一個完美的但它解決了我的問題。
我使用 laravel-mix webpack mix.extract 來提取 vue 和 vuex。
mix.extract([
'vue', 'vuex',
]);
mix.js('src/main.js', 'dist/web-components.js').vue({
version: 2,
options: {
shadowMode: true,
dontLeakScopedModules: false
}
});
它生成兩個腳本并將這些腳本添加到我的非 vue 網站。
<script defer="" src="http://ox_byondmarket/search-filter-components.js"></script>
<script type="text/javascript" src="http://ox_byondmarket/manifest.js"></script>
<script type="text/javascript" src="http://ox_byondmarket/vendor.js"></script>
<search-filters page="search"></search-filters>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/396482.html
標籤:javascript Vue.js 网络包 Vue 组件 Vuex
