2015-09-01 2 views
1

Я создал модуль npm с es6. Вы можете увидеть его на github here.Почему мой код es6 не компилируется после установки npm?

В файле package.json есть некоторые скрипты, которые должны гарантировать, что модули es6 будут созданы. Он работает при запуске npm publish и npm install, когда в контексте (каталоге) модуля npm. Запуск npm install в другом проекте (т. Е. Включая модуль как зависимость), однако, не создает модули es6. Похоже, в файле npm-debug.log ошибок нет.

Я бы очень хотел понять, почему.

ответ

1

Это было вызвано отсутствием файла .npmignore. Поскольку не было ни одного, npm использовал файл .gitignore. Это отфильтровывает папку dist/, которую я не хочу использовать в управлении источником. This commit исправил проблему

0

В вашем скрипте отсутствует сценарий install (или postinstall).

+0

Да, я думал, что этот проект, похоже, не один: https://github.com/rackt/redux/blob/master/package.json и как-то работает – Dakuan

+0

@ Dakuan, если вы установите модуль из реестра, он должен работать, потому что и этот проект, и ваш используют 'prepublish'. Однако, если вы устанавливаете свой модуль из каталога ('npm install/some/path/to/module'), вам нужен дополнительный скрипт' install'. – robertklep

+0

Я делаю «npm install backbone.lazify --save», и он не работает. – Dakuan

0

Если вы создаете код со сценарием на крюке prepublish, вам не нужно его снова создавать, когда другие его установят. Он должен поставляться со встроенным кодом ES6.

Фактически, вы, вероятно, захотите добавить свой каталог src в свой файл .npmignore, чтобы он не поставлялся с какой-либо JS, которая не может использоваться напрямую.

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