reactjs - React-projektet misslyckas med att använda node-moduler i en git-submodul
Jag har ett Javascript (typescript) projekt som jag använder som ett git-submodul i ett react-projekt (även typescript).
Allt detta fungerar bra... tills jag använder något Node-modul i git-submodulen. Jag försökte använda till exempel Node-modulerna "moment" och "faker", men jag är nästan säker på att det inte har att göra med dessa specifika Node-moduler.
Importerar till exempel "moment" i undermodulen:
import moment from 'moment';
att använda det:
moment().format('DD/MM/YYYY');
och att köra huvudreaktprojektet leder till detta fel:
Failed to compile.
./src/project_core/node_modules/moment/moment.js
Line 5:37: 'define' is not defined no-undef
Line 5:50: 'define' is not defined no-undef
Att ta bort moment().format('DD/MM/YYYY'); löser det.
Om jag bara kör några tester direkt i undermodulen och använder till exempel "moment", fungerar det alltid. Jag kan använda node-modulerna. Det verkar som något går fel när huvudprojektet använder node-modulerna i git-undermodulen.
Så här ser mitt React-projekt ut. Som du kan se är undermodulen project_core tillagd i src-mappen i huvudprojektet.
├── build
│ ├── assets
│ └── static
│ ├── css
│ └── js
├── node_modules
├── public
│ └── assets
└── src
├── project_core
│ ├── node_modules
│ ├── src
│ └── tests
├── ui
├── api
└── utils
Jag vet... Jag läser överallt att använda git-submoduler inte rekommenderas. Jag vill dock bara experimentera med git-submoduler för att lära mig av det.
Svar #1
Det ser ut som att du har ett nodmodul inuti en nodmodul. Detta förvirrar förmodligen din bundlare och orsakar importfel. Försök att ta bort package.json och node_modules från din projektkärnas undermapp och se om importerna fungerar korrekt. Om du vill göra din kärnmapp till ett bibliotek, överväg att faktiskt ha det som ett npm-beroende istället för en submodul. Du kan fortfarande referera till ett git-commit hash i beroendet.