2
我正在從vue-cli
webpack樣板構建一個項目。我有一個單一的文件Vue的組件,Foo.vue
,一個components
目錄也包含一個index.js
文件,其中進口和出口Foo
內:導入的Vue組件只在Webpack熱重裝上註冊
// components/index.js
import Foo from './Foo.vue'
export {
Foo
}
在另一個組件Bar.vue
,我進口Foo
並在本地註冊它。
// Bar.vue
<template>
<foo></foo>
</template>
<script>
import { Foo } from 'components'
export default {
name: 'bar',
components: {
Foo
}
}
</script>
<style></style>
在網頁加載時,控制檯記錄錯誤
[Vue warn]: Unknown custom element: <foo> - did you register the component correctly? For recursive components, make sure to provide the "name" option.
當我嘗試console.log(Foo)
導入後,其輸出undefined
。
然而, 如果我做任何修改Bar.vue
和保存,在中,頁面刷新的WebPack的熱重載踢,和<foo>
正確渲染。此外,console.log(Foo)
現在向我顯示控制檯中的整個Vue對象。
此外,<foo>
將總是正確地呈現,如果我有
import Foo from 'components/Foo'
這到底是怎麼回事導入? ES6模塊語法在初始加載與熱重新加載時處理方式不同嗎?
旁註:
這裏是我的實際項目,我沒有想到的是有關這個bug一對夫婦更多的細節,但我會在這裏包括,以防萬一。
Bar.vue
也住在components
目錄中。Bar.vue
本身是由另一個Vue組件導入的。- 的WebPack版本:2.2.1
- 通天核心版本:6.22.1
讓我知道,如果有任何其他配置文件或任何幫助診斷。