Я использую webpack
для упаковки моего JavaScript в качестве библиотеки.Библиотека используется для двух случаев, один из которых находится внутри браузера, а другой - в приложении nodejs.Ниже приведена конфигурация моего веб-пакета:
output: {
filename: '[name].js',
sourceMapFilename: '[name].map',
path: outputPath,
publicPath: '/',
library: 'MyLib',
libraryExport: "default" ,
libraryTarget: 'umd'
},
В случае браузера пользователи могут ссылаться на него через тег html <script>
, как показано ниже:
<script src="https://myhost/mylib.js">
тогда доступно имя MyLib
в глобальном масштабе.Я считаю, что это делается путем добавления MyLib
к объекту window
.Проблема возникает, когда я использую свою библиотеку в приложении nodejs.Я получу window is not defined
ошибку.Я думаю, это потому, что webpack добавляет мою библиотеку к объекту window
, которого нет в среде nodejs.Интересно, как я могу решить эту проблему, не ломая пользователей браузера.Мне действительно нужно выпустить две версии javascript
, одну для браузера, а другую для nodejs?