LARAVEL:如何将app.sass编译成app.css

时间:2017-07-23 03:48:19

标签: laravel laravel-5 npm sass

更新在Windows 10上的Laravel 5.4.30上运行

UPDATE:将文件保留为.scss非常合适,但我不想在我的项目中使用它。我想使用缩进sass或.sass

好的,所以在我决定在这里提出这个问题之前,我已承诺进行数小时的研究。 简单地说,我该如何编译:

resources/assets/sass/app.sass进入Laravel的public/css/app.css

我尝试过使用Laravel Elixir ..总失败..

我已经尝试了

mix.js('resources/assets/js/app.js', 'public/js') .sass('resources/assets/sass/app.sass', false, { indentedSyntax: true }, 'public/css');

webpack.mix.js

中的

注意{ indentedSyntax: true },这也没有用。

我已经安装了node-sassgulp节点模块..但仍然没有成功。

以下是我在_custom.sass

所在目录中找到的app.sass文件
// Fonts
// @import url("https://fonts.googleapis.com/css?family=Raleway:300,400,600")

// Variables
@import "variables"

// Bootstrap
@import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap"

.flex-center
  display: none

.flex-center是Laravel中包含在welcome.blade.php中的类,我将其用作测试并将显示设置为无。

在我的app.sass文件中,我只有:

@import "custom"

请注意我已将_variables.scss更改为_variables.sass,因此它不是正确的.sass语法(当然,无论如何都没有编译,所以它不是很重要)

我已经尝试过sass-loader,gulp-sass,compass-sass,没有任何效果。

在Laravel中使用.sass并将其编译为app.css时,GOT是一种更简单的方法(甚至可以是一种方式)!

我觉得这一切都与我的webpack.mix.js文件有关,但是参数设置的文档很少,无法将其编译为app.css

非常感谢任何帮助,我已经看到有很多人遇到这个问题,谢谢!

2 个答案:

答案 0 :(得分:2)

虽然你已经解释得很好,但我仍然没有到达你被困的地方,无论如何让我试一试。

来自laravel docs的

mix.sass('resources/assets/sass/app.sass', 'public/css')
   .sass('resources/assets/sass/admin.sass', 'public/css/admin');

之后:

// Run all Mix tasks...

npm run dev

// Run all Mix tasks and minify output...

npm run production

之后,您可以通过以下内容在.css文件中添加public/css生成的.blade文件:

<link rel="stylesheet" href="{{ mix('/css/app.css') }}">

如果您使用的是Laravel 5.4,Elixer将无法工作。

让我知道这不是你想要的。

答案 1 :(得分:2)

<强>解决

简单修复..克隆或下载lavarel&#39; s repo @ https://github.com/laravel/laravel

虽然我已更新package.jsonwebpack.mix.js等,但当前/最新版本中仍有一些额外的文件或代码。

下载回购后,运行npm install以确保您拥有所有必需的node_modules,并且不会遇到任何错误。

npm install之后,您可以成功运行npm run dev并编译任何资产,包括缩进的sass!