Laravel В laravel 5.4 подключить scss

mstdmstd

Новичок
Подскажите,
в laravel 5.4 хочу подключить scss и погуглив нашел статью https://mattstauffer.co/blog/introducing-laravel-mix-new-in-laravel-5-4

Имею:
Код:
$ lsb_release -d; uname -r; uname -i
Description:    Ubuntu 16.04.2 LTS
4.4.0-62-generic
x86_64
Создаю новый проект командами:
Код:
export PATH="$PATH:~/.composer/vendor/bin"

composer global require "hirak/prestissimo:^0.3"

composer global require "laravel/installer"

laravel new wprods

cd wprods
php artisan vendor:publish

composer update
В новом проекте нахожу файлы
resources/assets/js/app.js
и resources/assets/sass/app.scss
Я так понимаю что добавив scss определения в последний файл(или импортировать в него другие scss-файлы) из них и будет сгенерирован css под public ?
Выполняю и куча ошибок:
код длинный поэтому внешние ссылки
https://pastebin.com/3QzQkFH5



Выполяню команды в описании ошибки:

https://pastebin.com/Nx4RVQhY

node_modules - действительно отсутствует - проект новый

В рабочем проекте подкаталог есть - но ошибка та же


Код:
$ npm owner ls
npm ERR! npm owner add <user> [<@scope>/]<pkg>
npm ERR! npm owner rm <user> [<@scope>/]<pkg>
npm ERR! npm owner ls [<@scope>/]<pkg>
npm ERR!
npm ERR! alias: author
Можно как-то побороть эту ошибку или есть другие способы подключить scss ?

Спасибо!
 

fixxxer

К.О.
Партнер клуба
Хотел бы предостеречь от использования elixir с прочими mix-ами в проектах, где есть сколь-либо серьезный фронтенд. Как только понадобится то, что это поделие не умеет, будет тяжело. Лучше сразу делать нормальные gulpfiles.

Если фронтенд примитивный, тогда, конечно, сойдёт и elixir/mix.
 

jonjonson

Охренеть
С 5.4 там вроде как вебпак как основа и название обёртки изменилось.
 

fixxxer

К.О.
Партнер клуба
Ну, вебпак так вебпак, один фиг, левая обертка, которая мало что умеет.

Вообще такие вещи должен делать фронтенд-разработчик. Если он есть - пусть сам сделает так, как считает нужным.
 

mstdmstd

Новичок
Собрал проект заново, все команды выполнились нормально и scss-ы заработали.
А еще подскажите, а зачем в webpack.mix.js помещать js-файлы?
То есть, у меня при открытии редактора вызывается метод вроде :
Код:
   <script src="{{ url( 'js/template/attribute.js'  . (isset($dtparam) ? "?dt=".$dtparam : "" ) ) }}"></script>
   <script type="text/javascript" language="JavaScript">
       /*<![CDATA[*/

       var backendAttribute = new backendAttribute( 'edit', { // must be called before jQuery(document).ready(function ($) {
           <?php echo $appParamsForJSArray ?>  /* ПЕРЕДАЧА ПАРАМЕТРОВ ИЗ PHP в JAVASCRIPT */
       } );
       jQuery(document).ready(function ($) {
           backendAttribute.onBackendPageInit('edit')
       });

       /*]]>*/
   </script>
И далее я обращаюсь к методам обьекта backendAttribute в js/template/attribute.js.
Если этот файл поместить в resources/assets/js/ и в webpack.mix.js прописать
Код:
mix.js('resources/assets/js/template/attribute.js', 'public/js.template/')
Это будет лучше/безопастнее ?
 

fixxxer

К.О.
Партнер клуба
Охххххххх.
Лучше сразу нанять фронтенд-разработчика. Когда придете к тому, что он нужен и наймете, он все равно с этого дерьма фалломорфирует и станет все переделывать заново, потому что это быстрее и проще чем колупать этот кал.
 
Сверху