Создание пакета 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.