Как сделать javascript, сгенерированный `выходной библиотекой webpack ', можно использовать в приложении` nodejs` - PullRequest
0 голосов
/ 04 января 2019

Я использую 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?

1 Ответ

0 голосов
/ 04 января 2019

Надеюсь, это вам поможет.

output: {
      filename: '[name].js',
      sourceMapFilename: '[name].map',
      path: outputPath,
      publicPath: '/',
      library: 'MyLib',
      libraryExport: "default" ,
      libraryTarget: 'umd',
      globalObject: 'typeof self !== \'undefined\' ? self : this'
    },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...