내 앱 없이 VueX를 사용하는 구성 요소도 VueX를 사용할 수 있는가?
내 Vue 앱에서 이 구성 요소를 사용하고 싶다. https://commbocc.github.io/hcflgov-vue-esri-search/docs/
그러나 그것은 오류를 던지고 있다.TypeError: "t.$store is undefined"
원인은 VueX를 사용하지 않기 때문에 구성 요소가 찾고 있는 VueX 스토어를 초기화하지 못하고 있는 것 같다.
일반적으로 내 앱이 그렇지 않으면 VueX를 사용하는 구성 요소를 사용할 수 있는가?이 일을 해결할 방법이 없을까?나는 VueX를 통합하는 데 수반되는 노력이 너무 높을 것이라고 생각한다.
네, 가능합니다.대부분의 경우 사람들은 vue-plugin을 만든다.그럴 때는 이렇게 설치하면 된다.npm install myCoolPlugin
앱에서 가져온 파일을 사용하십시오.import myCoolPlugin from 'myCoolPlugin'
플러그인에 따라 vuex와 같이 전역적으로 설치할 수 있으며,
Vue.use(myCoolPlugin)
또는 플러그인의 구성 요소를 사용할 위치에서 직접 원하는 대로 명시적으로 사용할 수 있다.
import {coolButton, coolInput} from 'myCoolPlugin';
export default {
name: 'home-page',
components: [coolButton, coolInput],
...
}
플러그인에도 패키지가 있다.플러그인이 의존하는 등에 대한 메타데이터를 저장하는 json 파일(앱과 동일)당신이 할 때npm i myCoolPlugin
, npm은 플러그인의 패키지를 확인한다.플러그인이 의존하는 타사 패키지를 확인한 다음 앱의 node_properties에 계속 설치하기 위한 json 파일.
구성 요소 "esri-search"의 문제는 이 구성 요소가 패키지/플러그인으로 설정되지 않았다는 것이다.따라서 vuex, lodash 등 필요한 종속성을 앱에 설치하지 않는다.
이 때문에 이 구성 요소를 앱에 복사하면 플러그인이 아니라 앱이 되기 때문에 앱에 대한 종속성으로 vuex를 설치해야 했던 것이다.
이게 말이 돼?:)
이 경우 나는 다음과 같이 오류를 해결할 수 있었던 것 같다.
npm install --save vuex
인main.js
:
import VueX from 'vuex';
Vue.use(VueX);
그러나 이것은 항상 이것이 사실인지 아닌지에 대한 완전한 해답을 주지 못하므로, 더 나은 해답을 얻기 위해 열려 있다.
'programing' 카테고리의 다른 글
VueX 저장소 테스트 (0) | 2022.04.29 |
---|---|
v-if 및 v-properties inside(다른 텍스트 렌더링용) (0) | 2022.04.29 |
반사를 사용하여 정적 메서드 호출 (0) | 2022.04.29 |
Vuex가 구성 요소를 업데이트하지 않음 (0) | 2022.04.29 |
탐색복제 현재 위치("/검색")로 이동할 수 없음 (0) | 2022.04.29 |