vue-cli-сервис не будет работать, если используется пакет yarn link’ed

#vue.js #yarnpkg #vue-cli #yarn-link

Вопрос:

У меня есть частный пакет npm, размещенный на GitHub. Пакет, по сути, является компонентом Vue, и я создаю его с vue-cli-service build --target lib --name init-map src/main.ts помощью . Вот содержание main.ts :

 import InitMap from "./components/InitMap.vue";

export { InitMap };
 

Я использую пакет внутри моего другого проекта, и я разрабатываю их оба одновременно. Поэтому я хочу связать пакет: yarn link (внутри каталога пакетов), затем yarn link @smellyshovel/init-map внутри каталога проекта-потребителя.

Проблема в том, что когда я запускаю «yarn serve» (т. Е. vue-cli-service serve ) внутри основного проекта, он зависает на 69%…

Замораживание

… и, кажется, останется таким навсегда.

Axios не кажется мне проблемой (даже несмотря на сообщение), так как 1) все работает нормально без связанного пакета, 2) иногда он показывает другое сообщение (что-то связанное с загрузкой vue на 58%), хотя я видел это другое сообщение только один раз (и не уверен, что именно вызвало разницу).

Что я делаю не так? Почему происходит serve замораживание при использовании связанного пакета в качестве зависимости? Как мне решить эту проблему?

Пожалуйста, назовите мне любые другие вещи, которые вы хотели бы, чтобы я показал, поскольку я не уверен, что именно может быть связано с этой проблемой, и поэтому не включил никаких деталей, которые могли бы представлять интерес.

Ответ №1:

Хорошо, проблема действительно, по-видимому, связана с разрешением символических ссылок, и решением было бы просто запретить webpack разрешать эти символические ссылки: https://github.com/vuejs/vue-cli/issues/1494#issuecomment-498144990

 configureWebpack: {
    resolve: {
        symlinks: false,
    },
}