Внешняя конфигурация Webpack для локальной библиотеки - PullRequest
0 голосов
/ 12 июня 2019

Я хочу настроить свою конфигурацию Webpack (v4 +), чтобы исключить импорт, который ссылается на локальную библиотеку. В моем приложении я импортирую эту библиотеку так:

/ SRC / index.js

import foo from '../foo/foo'

console.log(foo);

/ Foo / foo.js

export default foo = "bar";

webpack.config.js

const path = require('path')
module.exports = {
    entry: './src/index.js',
    output: {
      filename: 'main.js',
      path: path.resolve(__dirname, 'dist')
    },
    externals: {
      "foo": path.resolve(__dirname, "./foo/foo"),
    }
  };

Однако на эту библиотеку уже есть глобальные ссылки на сайте, где я развертываю свое приложение. Поэтому я не хочу, чтобы эта библиотека была связана с моим приложением (мне все еще нужно импортировать ее, чтобы я мог переносить свою машинопись без ошибок и использовать intellisense).

Я обнаружил, что могу легко исключить библиотеку из комплектации, используя свойство externals следующим образом:

module.exports = {
  externals: {
    "jquery": "jQuery"
  }
}

Мне не удалось сделать то же самое с библиотекой, которую я импортирую. Как бы я поступил так? Я попробовал следующее, и библиотека все еще включена в мой пакет:

Я изучал документацию и могу только найти примеры, связанные с модулями узла, и ничего конкретного для моих требований.

Пожалуйста, дайте мне знать, если вам нужны дополнительные детали. Заранее спасибо!

1 Ответ

1 голос
/ 12 июня 2019

Чтобы WebPack рассматривал ваш импорт как external , ваша декларация импорта должна использовать тот же псевдоним, который вы определили в конфигурации WebPack extenals, а НЕ относительный путь:

import Foo from 'foo';

WebPack:

module.exports = {
  externals: {
    "foo": path.resolve(__dirname, "./path/to/foo")
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...