#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
каталоге.
-
from:
—is the place where files are - relative to - webpack.config.js
, не ставьте/
в конце, но не забудьте использовать./
в начале (в этом случае папка assets находится в том же каталоге, что и webpack.config.js ) -
to:
вашpublic/build
определен, с этого места вы начинаете создаватьdirectory
структуру, добавляете, например,assets/images
затем используете[folder]
КЛЮЧ, добавляете/
и указываете, как будет называться конечный файл[name].[ext]
вы можете добавить собственное имя для файла, добавив [myownname-foo-v1-][name]
в этой части. Это генерирует myownname-foo-v1-realfilename.extension
context:
— контекст — это место, ОТКУДА вы начинаете копать и копировать файлы..