Создание пакета npm с помощью webpack
Я создаю пакет npm и использую webpack для загрузчика, такого как babel, eslint и т.д. Однако я полагаю, что окончательная скомпилированная версия пакета должна содержать только один модуль без webpackBootstrap.
Мой текущий пакет, конфигурация и источник webpack. Я убрал его, чтобы заставить его "работать".
Шаги, которые я предпринял, чтобы проверить, работает ли он:
npm install
npm run build
npm install -g .
node
var test = require('test-package');
Результат этой ошибки:
Error: Cannot find module 'test-package'
at Function.Module._resolveFilename (module.js:337:15)
at Function.Module._load (module.js:287:25)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at repl:1:12
at REPLServer.defaultEval (repl.js:248:27)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)
at REPLServer.<anonymous> (repl.js:412:12)
at emitOne (events.js:82:20)
Я новичок в webpack и npm, поэтому дайте мне знать, если вам нужна дополнительная информация.
Ответы
Ответ 1
Установите output.libraryTarget в umd
. Это даст вам то, что легко потреблять из различных систем модулей (глобальный, AMD, CommonJS).
output.library - еще одно полезное поле для установки. Это должно соответствовать имени вашей глобальной библиотеки, которую вы хотите.
Была и другая проблема. Чтобы сделать импортную работу npm link
, необходимо использовать. Эта функция очень полезна в процессе разработки. Вы можете вернуть ссылку через npm unlink
.