【问题标题】:gulp fails on heroku: scss imports fail, bower_components missing?gulp 在 heroku 上失败:scss 导入失败,bower_components 丢失?
【发布时间】:2016-04-06 15:38:10
【问题描述】:

我正在从别人那里接手一个项目。他设计了一个带有 bower 和 gulp 的节点应用程序。

他们最初部署到 AWS,现在他们想切换到 heroku。因此,以前的部署过程不再有效。

我进步了很多,但现在我遇到了一块砖头,我不知道如何继续。

我将所有 gulp 引用从 devDependencies 移动到 package.json 中的依赖项,并添加了一个 postinstall 脚本。

所以 gulp 现在实际上是在 heroku 上执行的。 但我得到错误:

remote:        [15:31:39] Starting 'extras-admin'...
remote:        [15:31:39] Finished 'default' after 848 ms
remote:        
remote:        events.js:141
remote:        throw er; // Unhandled 'error' event
remote:        ^
remote:        Error: client/styles/main.scss
remote:        Error: File to import not found or unreadable: ../bower_components/normalize-scss/normalize.scss
remote:        Parent style sheet: stdin
remote:        on line 1 of stdin
remote:        >> @import "../bower_components/normalize-scss/normalize.scss";
remote:        ^
remote:        

现在我可以在我的本地机器上执行它并且它可以工作。

为什么@import 在heroku 失败?当然,bower_compoents 在我的.gitignorefile 中,所以也许在 heroku 上的 gulp 无法创建它或其他什么?

【问题讨论】:

    标签: node.js heroku gulp bower


    【解决方案1】:

    您的本地计算机上可能存在现有状态。删除 bower_components 和 node_modules 会发生什么? (rm -rf bower_components node_modules)。然后 npm install (npm install --quiet --production)。然后启动您的应用程序 (npm start)。

    如果它仍然可以在本地工作,那么您应该打开支持票。

    我怀疑你会看到同样的错误。 npm 安装完模块后,你需要安装 bower 组件,然后你需要运行你的 gulp 构建。一个干净的设置方法(如果您不希望它在每次安装后都运行)是创建一个构建脚本:

    "scripts": {
      "build": "bower install && gulp build",
      "heroku-postbuild": "npm run build"
    }
    

    更多信息在这里:

    【讨论】:

      猜你喜欢
      • 2016-11-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-11
      • 1970-01-01
      相关资源
      最近更新 更多