如何组织js,css和scss文件以进行正确的导入和流水线操作?

时间:2017-07-18 11:29:51

标签: sass ruby-on-rails-5.1 rails-assets sass-rails

最近我用资产文件夹中的资产购买了一个主题: -

 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文件保存在上面第2点的/ app / assets / stylesheets中 3)将上面第3点中的assets / sass / main.scss保存到/ app / assets / stylesheets 4)将上面第4点的仪表板文件夹保存到/ app / assets / stylesheets,application.css文件内容如下: -

require_self  
require_tree .

我认为这应该有效,因为所有的css都是由require_tree导入的。" main.scss"从dashboard目录导入文件。但我得到"变量未找到$ font-weight-bold sass error"来自" _variables.scss"中定义的变量从" main.scss"进口文件。我该如何解决这个问题以及资产组织应该是什么。

谢谢大家。

1 个答案:

答案 0 :(得分: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文件夹中的图像