2017-08-18 51 views
0

我的问题涉及latest Bootstrap 4.x release (beta)导入引导SCSS成Django项目

我通过

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous"> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script> 

导入来自CDN的CSS做我认为正确的,在我的自定义SCSS,我无法访问Bootstrap的变量(因为它是一个编译的CSS,而不是SCSS)?我试图更改$spacer: 1rem !default;,但没有奏效。

+1

请在将来每个主题只问一个问题 – Luuklag

回答

0

CSS没有变量,它们存在于SCSS中。这些变量在编译期间会被它们的值替换。所以是的,您需要下载Bootstrap的SCSS源文件并将它们与您自己的SCSS文件一起编译。

实现它的常用方法是使用webpack - 无论您的后端技术如何。它是一个基于node.js的工具(所以你也必须安装它),它允许你管理你的静态资产,包括安装JS和CSS库; ES6到ES5,LESS和SCSS到CSS编译;捆绑;缩小等。

每个活动通常需要一个插件。实际上,第一次让webpack按照需要工作实际上是相当困难的,但它是一种常用的web开发工具,值得借鉴。您可以配置webpack以下载并编译引导程序。

+0

谢谢您的回答。我目前通过[django-compressor]解决编译问题(https://github.com/django-compressor/django-compressor) – Fanny

0
  1. 问题1

    你的假设是正确的,因为SCSS是由浏览器渲染之前编译成CSS。您应该记住,SCSS(或SASS)是一个CSS预处理器,不能直接通过浏览器呈现。为此,我们有单独的编译器来将SCSS转换为CSS。

  2. 问题2

    您可以从Git的这个克隆SCSS文件复制到你的静态文件夹,然后你需要通过前端的自动化工具,如将其编译成CSS:

    • NPM
    • 咕噜
    • 咕嘟咕嘟
    • 的WebPack
+0

那么,一旦我导航到文件夹中,git克隆的路要走吗?我认为将有一种gemfile或任何其他脚本在根文件夹中执行,可以这样做。 – Fanny