【问题标题】:Build coffeescript on Heroku在 Heroku 上构建咖啡脚本
【发布时间】:2015-01-28 14:49:58
【问题描述】:

有人知道如何在 Heroku 上构建咖啡脚本吗?

我有一个 nodejs Web 应用程序,带有一些客户端资源(全部用咖啡编写),并且想要让 heroku 构建咖啡脚本,而无需我在本地构建并上传目标。

我已按照说明尝试了 Aergonaut 构建包 - 但出现以下错误:

       /tmp/node-node-H5WL/bin/node: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory
 !     Failed to install --production dependencies with npm
 !     Push rejected, failed to compile Coffeescript app

Package.json:

{
  "name": "WebClient",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "express": "~4.9.0",
    "body-parser": "~1.8.1",
    "cookie-parser": "~1.3.3",
    "morgan": "~1.3.0",
    "serve-favicon": "~2.1.3",
    "debug": "~2.0.0",
    "jade": "~1.6.0",
    "coffee-script": "1.8.0"
  }
}

【问题讨论】:

  • 您的 pagackage.json 中是否包含 coffeescript?
  • 是的,我现在已经包含在原始帖子中了。

标签: node.js heroku coffeescript


【解决方案1】:

好的,我想通了,使用gulp。 这是我的 package.json

{
  "name": "SSWebClient",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www",
    "postinstall": "gulp",
    "prestart": "npm install"
  },
  "dependencies": {
    "express": "4.11.*",
    "body-parser": "1.12.*",
    "cookie-parser": "1.3.*",
    "morgan": "1.5.*",
    "serve-favicon": "2.2.*",
    "nconf": "0.7.*",
    "debug": "2.1.*",
    "underscore": "1.8.*",
    "jade": "1.9.*",
    "coffee-script": "1.9.*",
    "less": "2.4.*",
    "gulp": "3.8.*",
    "gulp-coffee": "2.3.*",
    "gulp-sourcemaps": "1.3.*",
    "gulp-rename": "*",
    "gulp-less": "*",
    "gulp-load-plugins": "*",
    "gulp-develop-server": "*",
    "gulp-livereload": "3.7.*",
    "gulp-cached": "*",
    "del": "*"
  }
}

您的 gulpfile(在我的例子中是咖啡脚本)在下面。为了感兴趣,我也包含了 LESS 配置。我还包括gulp-load-plugins,使代码更简洁。 注意:您需要 Heroku 的 stage 任务。

gulp = require 'gulp'
plugins = require('gulp-load-plugins')()

compileCoffee = ->
  gulp.src './src/**/*.coffee'
  .pipe plugins.cached 'compileCoffee'
  .pipe plugins.sourcemaps.init()
  .pipe plugins.coffee()
  .pipe plugins.sourcemaps.write()
  .on 'error', (err) -> console.log err.toString()
  .pipe gulp.dest './target'

compileLess = ->
  gulp.src './src/client/**/*.less'
  .pipe plugins.cached 'compileLess'
  .pipe plugins.less()
  .on 'error', (err) -> console.log err.toString()
  .pipe gulp.dest './target/client'

gulp.task 'build', ['compileCoffee', 'compileLess']

gulp.task 'stage', ['build']

【讨论】:

猜你喜欢
  • 2011-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-27
  • 2014-04-06
  • 1970-01-01
  • 1970-01-01
  • 2013-01-09
相关资源
最近更新 更多