Как заставить модуль npm работать локально на проекте Laravel / Vue? - PullRequest
0 голосов
/ 14 апреля 2020

Я знаю, что вопрос широкий, но на данный момент я не обязательно уверен, как его задать. В настоящее время я работаю над проектом Laravel / Vue и хочу создать извлеченный модуль, который в конечном итоге станет пакетом NPM. Причина, по которой я хочу извлечь его, заключается в том, что я буду использовать этот фрагмент кода как mixin в различных Vue компонентах.

Я хочу делать все это локально, чтобы мне не приходилось постоянно связывайтесь с NPM, поэтому я установил связь между моим project и моим module с помощью команды npm link. Я могу подтвердить в своем Проекте, что в каталоге node_modules есть символьный каталог c, указывающий на мой Модуль.

В моем Проекте у меня есть код из миксина, выполняющий функцию внутри другого модуля. метод моего Vue компонента, например, так:

this.updateState(response.state);

Я импортирую и определяю миксин в этом файле следующим образом:

import UpdatesState from 'module';

export default {
    mixins: [UpdatesState],

Этот метод updateState определен в мой модуль. Внутри моего модуля вот как выглядит мой module/src/mixins/UpdateState файл:

export default {
methods: {
    updateState(state) {
        this.$store.commit('state', state);
    }
},
}

Также в модуле у меня есть файл index.js, который выглядит следующим образом:

import UpdatesState from './mixins/UpdatesState'

export default {
    UpdatesState
}

package.json моего модуля выглядит следующим образом:

{
    "name": "module",
    "description": "Supporting modules",
    "main": "src/index.js",
    "author": "Hoolakoola",
    "license": "MIT"
}

Когда я выполнял этот код из фактического источника проекта и просто ссылался на него по абсолютному пути, он работал нормально. Но теперь, когда я пытаюсь извлечь его, он не работает должным образом. Я не получаю никаких ошибок при компиляции проекта, и в консоли нет ошибок. Есть идеи, что здесь происходит и как я могу это исправить? Спасибо.

...