Как получить завершение кода WebStorm при использовании встроенного пакета WebPack из файла HTML? - PullRequest
0 голосов
/ 05 февраля 2020

Давайте начнем с моего примера src/index.js file:

export function foobar() {}

Конфигурация WebPack:

module.exports = [
  {
    mode: 'development',
    entry: './src/index.js',
    resolve: {
      extensions: ['.js'],
    },
    output: {
      filename: 'bundle.js',
      path: path.resolve(__dirname, 'dist'),
      library: 'MyBundle',
    },
  }
]

При запуске webpack создается dist/bundle.js.

Я создаю новый проект WebStorm и файл index.html, в который загружаю пакет с <script src="bundle.js"></script>

Теперь, если я наберу MyBundle., завершение не будет.

Но если я открою файл index.html в браузере и наберу в консоли разработчика MyBundle., будет завершено выполнение функции foobar().

Есть ли способ получить такое же завершение в WebStorm ? Я попытался с исходной картой без удачи.

1 Ответ

2 голосов
/ 05 февраля 2020

MyBundle доступен во время выполнения, но в исходном коде такого объекта нет, и сгенерированный пакет исключен из индексации для повышения производительности / navigation / et c. Разрешение этого во время анализа кода stati c требует специальной поддержки способа, которым webpack предоставляет библиотеки, а именно его свойства output.library. Если вы пропустите это, не стесняйтесь подать запрос на добавление функции youtrack .

. На данный момент я могу только предложить использовать аннотации JSDo c, чтобы сообщить IDE о вашей библиотеке. Нравится:

/**
 * @namespace MyBundle
 */

/**
 * @memberOf MyBundle
 */
export function foobar() {}

...