Копирование файлов с помощью webpack-encore

#webpack-encore

#webpack-encore

Вопрос:

мне нужно скопировать файлы из node_modules в каталог web/ bundles /MyBundle /components

Но теперь у меня ошибка: Ошибка: EISDIR: незаконная операция в каталоге, откройте ‘/srv / project /web /bundles /MyBundle /components’

 Encore
  .setOutputPath('web/bundles/myBundle/')
  .setPublicPath('/bundles/myBundle')
  .addEntry('myBundle', './app.js')
  .copyFiles({
  from: './src/project/myBundle/Resources/public/components',
  to: 'components',
});
  

Мне просто нужно скопировать файлы, я пробовал это, но я не хочу указывать addEntry, потому что их нет (пустой js-файл просто для решения проблемы).

Если у вас есть какая-либо идея или решение, спасибо!

Ответ №1:

Измените строку «на:» на следующую

 to: 'components/[path][name].[ext]',
  

Элементы в квадратных скобках — это ключевые слова, которые будут заменены реальным путем / именем файла / расширением каждого файла во время процесса копирования

Ответ №2:

Окончательное решение и объяснение методов копирования (в проекте Symfony)

например, у вас есть пользовательский шаблон веб-сайта, вы копируете его ресурсы в ПРОЕКТ Symfony assets/template-name/assets в качестве обычной конфигурации для добавления файлов webpack

структура ресурсов

в webpack.config.js

     .copyFiles(
    { from: './assets/vuesy/assets/images',
                includeSubdirectories: true,
                to: 'assets/images/[folder]/[name].[ext]',
                context: 'assets/vuesy/assets/',
                pattern: /.*/
    }
)
  

и вот КАК создать правильную структуру папок в вашем public/build каталоге.

правила создания папок

  1. from: is the place where files are - relative to - webpack.config.js , не ставьте / в конце, но не забудьте использовать ./ в начале (в этом случае папка assets находится в том же каталоге, что и webpack.config.js )

  2. to: ваш public/build определен, с этого места вы начинаете создавать directory структуру, добавляете, например, assets/images затем используете [folder] КЛЮЧ, добавляете / и указываете, как будет называться конечный файл [name].[ext]

вы можете добавить собственное имя для файла, добавив [myownname-foo-v1-][name] в этой части. Это генерирует myownname-foo-v1-realfilename.extension

  1. context: — контекст — это место, ОТКУДА вы начинаете копать и копировать файлы..