Мой компонент реакции имеет такую структуру.
/build
..............................
/lib
/inner
/InnerComponent.js
/index.js
/OuterComponent1.js
/OuterComponent2.js
/index.js
.................................
package.json
.................................
Мой package.json выглядит так, как показано ниже
{
"name": "my-comp",
.......................
"main": "build/index.js",
"scripts": {
"build": "babel lib -d build",
"build:watch": "babel lib -w -d build",
"lint": "eslint lib/**; exit 0",
"lint:watch": "esw -w lib/**",
"prepublish": "npm run build"
},
"devDependencies": {
.......................
},
"dependencies": {
.......................
},
"directories": {
"lib": "lib"
},
"repository": {
.......................
}
}
OuterComponent1 и OuterComponent2 можно импортировать из lib/index.js как import {OuterComponent1,OuterComponent2} from "my-comp". Мне нужно импортировать все в lib/inner как import {InnerComponent} from "my-comp/inner" (я хочу добавить пространство имен для компонентов в папке lib/inner). Как это сделать после публикации в npm?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете создать именованный экспорт из inner/index.js следующим образом:
export { InnerComponent } from './InnerComponent';
Что затем разрешило бы импорт с использованием:
import { InnerComponent } from 'my-comp/inner';
Папка модуля в node_modules как my-comp? Похоже, он пытается найти модуль относительно папки, содержащей файл с оператором импорта импорта.
да, после установки my-comp войдет в модули узла моего проекта
ОК. Я думаю, что после установки в качестве модуля npm импорт будет работать. Если вы вручную добавляете его в свой тестовый проект, вы можете просто перетащить папку в node_modules или, альтернативно, использовать псевдоним разрешения Webpack, чтобы правильно найти папку.
Привет, Стив,
my-compдолжен быть опубликован в npm и установлен в некоторые другие проекты. при указании вышеупомянутого оператора импорта он дает мне эту ошибкуModule not found: Can't resolve 'my-comp/inner' in 'H:\workspace\vscode\sample-project\src\components\home\sub'