Исключить файл из свертки

#javascript #polymer #rollup #lit-element

#javascript #полимер #свертка #lit-элемент

Вопрос:

Я разрабатываю приложение в Polymer и lit-element и использую rollup для объединения всех файлов. Дело в том, что у меня есть файл, имя которого «config.js » в корневом каталоге, в котором его функция заключается в настройке приложения на основе потребностей пользователя. Приложение загрузит этот файл конфигурации, чтобы показать, что необходимо. Я не хочу, чтобы этот файл был включен в пакет, потому что я хочу, чтобы он динамически изменялся пользователем.

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

 import sources from '../config.js';
 

конфигурационный файл находится в корневом каталоге и выглядит следующим образом:

 export { sources as default };

const sources = [
  ......
];
 

моя конфигурация свертки:

 import commonjs from 'rollup-plugin-commonjs';
import resolve from 'rollup-plugin-node-resolve';

const plugins = [
  resolve({
      mainFields: false,
      browser: true,
  }),
  commonjs()
];

export default [
  {
    input: 'src/index.js',
    output: {
      file: 'dist/app.js',
      format: 'umd'
    },
    plugins: [...plugins],
  },
];
 

Когда я rollup -c config.js добавляю файл в пакет, это не то, что я хочу

Ответ №1:

Я использую зависимость от разработчика "rollup-plugin-copy": "^3.3.0" . В моем rollup.config.js файле (начиная с того, что @open-wc создается для меня) я добавляю

 import copy from 'rollup-plugin-copy';
...
plugins: [
  html(),
  copy({
    // copy over images files and manifest
    targets: [
      { src: 'images', dest: 'dist' },
      { src: 'manifest.json', dest: 'dist' },
      { src: 'config', dest: 'dist' },
     ...
    ],
    ...
 

Это копирует мой image и config каталог и содержимое, manifest.json файл и другие.