【问题标题】:Render scss file dynamically with node-sass on Heroku在 Heroku 上使用 node-sass 动态渲染 scss 文件
【发布时间】:2017-08-29 07:43:49
【问题描述】:

我目前正在尝试使用一些动态变量呈现 scss 文件。在我的本地机器上一切正常。在 Heroku 我得到这个错误:

Error: File to import not found or unreadable: bower_components/sass-mixins/mixins

const fs = require('fs');
const sass = require('node-sass');

var path = 'assets/compiled/' + client.id + '.css';
var dynamic = '$brand-primary: #CCC;';


fs.readFile('assets/scss/application.scss', function(err, data) {
    sass.render({
        data: dynamic + data,
        includePaths: [
            __dirname + '/../../',
            __dirname + '/../../bower_components'
        ]
    }, function(err, result) {
          // do sth. with result
    });
});

我已经玩过includePaths 添加了process.cwd()__dirname../../ 等等。

assets/scss/application.scss 看起来像这样:

$brand-primary: #306bb3 !default;
$brand-success: #ffb034 !default;
$gray-lighter: #e4e8ea !default;
$gray-lightest: #f5f5f5 !default;
$gray-dark: #555555 !default;

@import "bower_components/sass-mixins/mixins";
@import "bower_components/bootstrap/scss/bootstrap.scss";
@import "bower_components/font-awesome/scss/font-awesome";
@import "bower_components/fatcow-icons/flags-16px.css";
@import "bower_components/cookieconsent/build/cookieconsent.min.css";

@import "assets/scss/_partials/_layout";

我不知道为什么它在我的机器上运行良好,但在 Heroku 上却不行...

【问题讨论】:

  • 您是否检查过bower install 在部署时是否被正确调用以及bower_components 目录是否存在?
  • @NavinPeiris 谢谢你......浪费了两天的工作试图让它在 Heroku 上运行并错过了 BOWER 安装!!!该死的......:D
  • 哈哈!发生在我们最好的人身上....如果您不介意,请将此作为答案

标签: node.js heroku sass node-sass


【解决方案1】:

问题很可能是在部署期间未调用 bower install

【讨论】:

    猜你喜欢
    • 2013-10-23
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 2016-05-11
    • 2015-07-17
    • 2016-07-09
    相关资源
    最近更新 更多