Например, jquery и jstree доступны с npm.
Поэтому в моем проекте Laravel я могу добавить это в файл "webpack.mix. js":
mix.js('resources/js/app.js', 'public/js').extract(['jquery','jstree']);
При запуске "npm run dev" тогда и jquery, и jstree попадают в файл "public / js / vendor. js", как ожидается, согласно документации о Vendor Extraction (в данном примере используется «extract (['vue'])»)
Насколько я понимаю, это работает, потому что и jquery, и jstree расположены в "node_modules" благодаря тому, что были определены в моем "пакете. json" (путем определения "jquery": "^ 3.2" и "jstree": "^ 3.3.9")
Однако как я должен использовать Laravel Mix, чтобы поместить какой-нибудь другой файл javascript в мой большой сгенерированный файл "vendor. js", если этот другой актив недоступен с npm, но, например, я вместо этого получил его с composer ?
Например, файл "jsvalidation. js" из laravel -jsvalidation
Я добавил эту зависимость в свой про ject с "composer. json" (используя "proengsoft / laravel -jsvalidation": "^ 3.0") и затем запустил "composer update".
Затем я использовал "mix .copy "in" webpack.mix. js ", так как я нашел некоторую информацию о jsvalidation и laravel -mix :
Цитата:" Не забудьте скопировать ваш файлы, использующие mix, поэтому добавьте в webpack.mix. js file ":
mix.copy('vendor/proengsoft/laravel-jsvalidation/public/js/jsvalidation.min.js', 'public/vendor/jsvalidation/js/');
(как вы могли заметить, вышеупомянутая связанная страница предназначена для" Laravel -6-Installation ", но в настоящее время кажется, что не быть документацией для Laravel 7, которую я использую, но в любом случае, относительно материала laravel -mix, который я спрашиваю об этом, не должно зависеть от того, какую версию библиотеки jsvalidation я использую)
Таким образом, я добавил вышеуказанную строку «mix.copy» в мой файл «webpack.mix. js», но затем, что я должен получить, чтобы этот файл jsvalidation переместился в большое «vendor. js» вместе с jquery а jstree?