Nodejs - Нет пакета веб-пакетов - PullRequest
0 голосов
/ 07 января 2019

Я хочу "связать" некоторые файлы в один файл js , но Мне не нужна оболочка веб-пакета.


Допустим, у меня есть 3 файла:

// file1.js
export default { hello: "hello" };

// file2.js
export default { world: "world" };

// index.js
import file1 from "./file1";
import file2 from "./file2";

(() => ({ ...file1, ...file2 }))()

Я хочу получить следующий результат:

// build/output.js (+ babel...)
(function(){
  return Object.assign({}, { hello: "hello" }, { world: "world" });
})()

Ни одной строки кода, кроме вышеприведенных результатов сборки.


Возможно ли это с помощью веб-пакета? Спасибо!

1 Ответ

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

O.P. Решение

Хорошо, я нашел решение! Возможно, это не самый лучший вариант, но он работает.

Я нашел эту библиотеку здесь , которая объединяет файлы вместе.


Строительство

Я могу построить, используя: npm run build.

И код, который объединяет файлы:

// ======================================================
// Tools / Bundle
// ======================================================

// Libs
var path = require("path");
var bundle = require("bundle-js");

module.exports.exec = function() {
  // Disable logging (hack for 'bundle-js' library).
  var _log = console.log;
  console.log = function() {};

  // Concatenate each file (required by the application).
  var file = path.resolve(__dirname, "../src/index.js");
  var bundledCode = bundle({
    entry: file,
    print: false,
    disablebeautify: true
  });

  // Enable logging.
  console.log = _log;

  // Return bundled code.
  return bundledCode;
};

По некоторым причинам bundle-js всегда выводит что-то даже с опцией { print: false }. Поэтому я добавил небольшой хак, чтобы исправить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...