Podczas rozwoju mojego modułu React
npm
, dowiązałem go z npm link
. Po wykonaniu tej czynności pakiet zostanie poprawnie połączony, a także pojawi się w aplikacji konsumenckiej node_modules
.Symlinkowanie reaktywowania modułów za pomocą npm link dla lokalnego rozwoju daje błąd
Moduł udostępnia interfejs umożliwiający utworzenie komponentu React
. Ponieważ używam React
, jsx
i es2015
, używam babel
do transpozycji mojego kodu modułu na etapie wstępnego publikowania, używając npm prepublish hook
.
Jednak gdy próbuję zbudować Moje app konsumentów z webpack
(czyli po połączeniu go) wystąpi błąd w moim pakiecie stwierdzając:
Module build failed: Error: Couldn't find preset "es2015"
Teraz zabawne jest to, że jeśli opublikuje pakiet na KMP , następnie npm install
z rejestru w mojej aplikacji konsumenckiej, zbuduj go, wszystko działa poprawnie.
Próbowałem instalacji babel-preset-es2015
w mojej aplikacji konsumenckich, ale potem zaczyna narzekać nie znalezienie babel
:
Module not found: Error: Cannot resolve module 'babel'
Ponownie, jeśli mogę zainstalować go z rejestru npm wszystko działa poprawnie, bez błędów są wyrzucane podczas budować.
Próbowałem również zainstalować babel-core
, babel-cli
i babel-polyfill
, wszystko bez skutku.
Używam babel v6.1.x
wszędzie i świadomy wszystkich ostatnich zmian, jednak myślę, że jestem brakuje czegoś oczywistego i naprawdę doceniam to, czy ktoś może mi pomóc, bo ciągle publikowanie modułu w celu sprawdzenia, czy rzeczy prace to tylko zła praktyka.
kompletności sake Oto kod:
Są to kroki mogę wykonać, aby połączyć moduł:
cd ~/Sites/me/react-leafbox
npm link
cd ~/Sites/me/mapp
npm link react-leafbox
npm start
Ślad stosu po budynku:
ERROR in ../react-leafbox/lib/index.js
Module build failed: Error: Couldn't find preset "es2015"
at OptionManager.mergePresets (/Users/daniel/Sites/me/mapp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:329:17)
at OptionManager.mergeOptions (/Users/daniel/Sites/me/mapp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:289:12)
at OptionManager.addConfig (/Users/daniel/Sites/me/mapp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:223:10)
at OptionManager.findConfigs (/Users/daniel/Sites/me/mapp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:366:16)
at OptionManager.init (/Users/daniel/Sites/me/mapp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:410:12)
at File.initOptions (/Users/daniel/Sites/me/mapp/node_modules/babel-core/lib/transformation/file/index.js:191:75)
at new File (/Users/daniel/Sites/me/mapp/node_modules/babel-core/lib/transformation/file/index.js:122:22)
at Pipeline.transform (/Users/daniel/Sites/me/mapp/node_modules/babel-core/lib/transformation/pipeline.js:42:16)
at transpile (/Users/daniel/Sites/me/mapp/node_modules/babel-loader/index.js:14:22)
at Object.module.exports (/Users/daniel/Sites/me/mapp/node_modules/babel-loader/index.js:83:14)
@ ./src/js/components/App.jsx 2:10-34
Ślad stosu po dodaniu dodatkowych babel związane zależnościami (które wierzę should't być konieczne, ponieważ są one dostępne w module-module-Rejestru):
ERROR in ../react-leafbox/lib/index.js
Module not found: Error: Cannot resolve module 'babel' in /Users/daniel/Sites/me/react-leafbox/lib
@ ../react-leafbox/lib/index.js 8:11-39
Używam node v5.0.0
z npm v3.3.6
na MAC OSX El Capitan v10.11.1
. Próbowałem również używać node v4.2.1
z npm 2.14.7
, co daje mi te same błędy.
Proszę przeczytać opisy tagów. 'babel' jest pytaniem o bibliotekę * Pythona * o tej nazwie. –
@FelixKling Tęskniłem za tym, dzięki za poprawienie tego. – danillouz