Можно ли включить фрагмент js в другой файл js с помощью веб-пакета - PullRequest
0 голосов
/ 20 марта 2020

У меня есть файл JavaScript, который не является каким-либо модулем, и мне не разрешено превращать его в какой-либо модуль.

Я хочу включить тело этого javascript внутри другого с помощью веб-пакета.

Мой JavaScript, который я хочу включить, это

'use strict';

const OldScript = function() {
  let example_lib = {
    propertyhere: 1,
  };

  return example_lib;
};

и файл заголовка, который используется для сборки моего bundle.is

console.log(OldScript);

Что бы я хотел Я хотел бы выпустить в моей связке нечто, похожее на это

'use strict';

const OldScript = function() {
  let example_lib = {
    propertyhere: 1,
  };

  return example_lib;
};

console.log(OldScript);

Если это вообще возможно, однако я знаю, что редко можно получить то, что хочешь. Поэтому я хотел бы сгенерировать пакет из этих двух сценариев, чтобы в журнале консоли больше не указывалось, что OldScript является неопределенным, а скорее как функция, и что если бы я должен был выполнить эту функцию в моем сценарии ввода, он бы возвратил показанный объект над.

Я бы предположил, что в скрипте точки входа было сделано что-то вроде требования внутри, но я начал думать, что это невозможно.

1 Ответ

1 голос
/ 20 марта 2020

Вы можете "преобразовать" его в модуль только для вашего использования с помощью exports-loader, что позволяет указать, что будет экспортировано из файла.

npm install exports-loader --save-dev

Предполагается, что имя стороннего файла external. js.

// my file that gets bundled with webpack
const OldScript = require('exports-loader?OldScript!./path-to/external.js'); // this is "inline" usage of webpack loader.

console.log(OldScript); // this will work with the function that is inside external.js
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...