Как я могу организовать файлы js, css и scss для правильного импорта и конвейерной обработки?

Недавно я купил тему с активами в папках с активами как: -

 1) assets/js/something.js  
2) assets/css/something.cs  
3) assets/sass/main.scss (with import statements for files inside 3 no. dashboard folder and sub-folders inside dashboard)  
4) assets/sass/dashboard/_variable.scss  
5) assets/sass/dashboard/mixins/something.scss  
6) assets/img/something.jpg  
7) assets/img/faces/some.png  

Теперь мне нужно использовать тему в конвейере ресурсов rails и организовать ее как: -

1) сохранил все файлы * .js, указанные выше (1) no. внутри папки / app / assets / javascripts и в файле application.js код: -

require rails-ujs  
require turbolinks  
require_tree .

(Файлы Js импортируются, и, я думаю, ошибок нет, так как все файлы находятся в каталоге javascripts)

2) сохранил все файлы * .css внутри / app / assets / stylesheets из пункта 2 выше.
3) сохранил assets / sass / main.scss в пункте 3 выше в / app / assets / stylesheets.
4) сохраненная папка панели инструментов в пункте 4 выше в / app / assets / stylesheets, а содержимое файла application.css выглядит следующим образом: -

require_self  
require_tree .

Я думаю, это должно сработать, поскольку весь css импортируется с помощью require_tree. А в main.scss есть импорт для файлов из каталога панели инструментов. Но я получаю сообщение «Variable not found $ font-weight-bold sass error» из переменной, определенной в «_variables.scss», импортированной из файла «main.scss». Как я могу это решить и какой должна быть организация активов.

Спасибо вам всем.


person codemilan    schedule 18.07.2017    source источник


Ответы (1)


способ, которым я настроил свой, работает, но я не знаю, есть ли его соглашение (- означает папку, + означает файл):

-stylesheets
  -base 
   + globals.scss
   + mixins.scss
   + normalize.scss
   + variables.scss

  - styles
   + login.scss

  + applicaion.css.scss  
     require_self 
     require main

  + mains.scss here is where i import all the files
     @import "base/mixins.scss";
     @import "base/normalize.scss";
     @import "base/globals.scss";
     @import "base/variables.scss";
     // login
     @import "styles/login.scss";

- javasctipts
   + application.js 
     //= require something
     //= require_tree

   + something.js

и изображения в папке asssts / image

person maverick5    schedule 18.07.2017