В файле package.json
указан один и тот же файл для тегов main
и module
. Я подозреваю, что проблема здесь в том, что вы используете import
на общем модуле. js (CJS). Он работает в одном проекте, потому что вы импортируете файл. vue из components
, а не из экспортированного модуля, поэтому вы тестируете что-то совсем другое в одном случае.
module
запись необязательна, но существует для того, чтобы вы могли указать общий модуль js (т.е. require() compatible
) для точки входа main
и модуль ESM (т.е. import
) для записи module
.
Вы предоставили один и тот же файл для обоих, и общий (cjs) модуль не будет импортироваться через запись module
.
Вы не делаете У вас есть вариант ESM в папке dist
, но у вас есть файл UMD, который поддерживает оба. Поэтому он должен быть совместим с импортом, что означает, что вы можете указать его для поля module:
в файле package.json
.
Попробуйте изменить:
"main": "dist/v-number-stepper.common.js",
"module": "dist/v-number-stepper.common.js",
до:
"main": "dist/v-number-stepper.common.js",
"module": "dist/v-number-stepper.umd.js",
Для создания фактического модуля ESM для импорта см. эту страницу , которая действительно является библией Vue в стандартном процессе для этого , Однако это другой процесс с накопительным пакетом.
Вам нужно будет опубликовать sh и забрать его снова (если только вы сначала не протестировали все это с npm link
в lib и npm link v-number-stepper
в основном проекте, как я предложил в моем другом ответе).
См. эту страницу для получения информации о пакете. json поля для CJS и ESM, и эта страница для получения информации о CJS и UMD. Также эта страница для информации по npm link
, которая сэкономит время, если вы сделаете что-то подобное очень много.