2015-09-18 2 views
0

Я использую webpack для создания своего приложения, и я использую библиотеку (eventemitter4), которая сама зависит от другой библиотеки (underscore).Webpack: Зависит от другой зависимости, а не от собственной подзависимости

Однако, я уже использую в своем заявлении альтернативу underscore (lodash и более точно версия es6). Я хотел бы eventemitter4 использовать эту более позднюю библиотеку и не включать в мою сборку два.

Я устанавливаю свои зависимости, используя npm install. В результате underscore поставляется в виде подкаталога внутри каталога eventemitter4.

Он попытался установить псевдонимы, но я не мог заставить его работать:

alias: { 
    "underscore": "lodash-es", 
    "lodash": "lodash-es", 
    "~/underscore": "lodash-es" 
} 

поднимает

ERROR in ./~/eventemitter4/index.js 
Module not found: Error: Cannot resolve module 'lodash-es' in /Users/me/myapp/node_modules/eventemitter4 
@ ./~/eventemitter4/index.js 6:2-23 

Если я не добавить "~/underscore": "lodash-es", суб- underscore включается вместо lodash.

Любая идея?

Большое спасибо за помощь.

ответ

0

Я действительно нашел причину. Псевдоним работал. Причиной ошибки было то, что lodash-es не содержит атрибут main в своем package.json (он предоставляет только esnext:main, который не распознается веб-пакетом).

я решить проблему с помощью:

alias: { 
    "underscore": "lodash-es", 
    "lodash": "lodash-es/lodash", 
    "~/underscore": "lodash-es" 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^