在Heroku

时间:2015-12-24 11:36:34

标签: heroku bower phoenix-framework brunch

我在网上看到的所有使用这两个的例子都依赖于全局安装Bower,但这对Heroku不起作用 - Bower需要成为应用程序的依赖项,因此列在package.json

我的package.json看起来像这样:

{
  "repository": {
  },
  "dependencies": {
    "babel-brunch": "^6.0.0",
    "brunch": "^2.0.0",
    "clean-css-brunch": ">= 1.0 < 1.8",
    "css-brunch": ">= 1.0 < 1.8",
    "javascript-brunch": ">= 1.0 < 1.8",
    "uglify-js-brunch": ">= 1.0 < 1.8",
    "sass-brunch": "^1.9.2",
    "bower": "1.7.0"
  },
  "scripts": {
    "postinstall": "./node_modules/bower/bin/bower install"
  }
}

我的bower.json喜欢这样:

{
  "name": "Kaderi",
  "dependencies": {
    "bootstrap-sass": "~ 3.3.6"
  }
}

但是,在bower中加载了package.json,构建资产时总会遇到以下JS错误:

./node_modules/detective/node_modules/acorn/dist/acorn.js:1747
  throw err;
  ^

SyntaxError: Unexpected token (2:10)
  at Parser.pp.raise (./node_modules/detective/node_modules/acorn/dist/acorn.js:1745:13)
  at Parser.pp.unexpected (./node_modules/detective/node_modules/acorn/dist/acorn.js:2264:8)
  at Parser.pp.semicolon (./node_modules/detective/node_modules/acorn/dist/acorn.js:2243:59)
  at Parser.pp.parseExpressionStatement (./node_modules/detective/node_modules/acorn/dist/acorn.js:2677:8)
  at Parser.pp.parseStatement (./node_modules/detective/node_modules/acorn/dist/acorn.js:2462:160)
  at Parser.pp.parseBlock (./node_modules/detective/node_modules/acorn/dist/acorn.js:2692:21)
  at Parser.pp.parseStatement (./node_modules/detective/node_modules/acorn/dist/acorn.js:2443:19)
  at Parser.pp.parseTopLevel (./node_modules/detective/node_modules/acorn/dist/acorn.js:2379:21)
  at Object.parse (./node_modules/detective/node_modules/acorn/dist/acorn.js:101:12)
  at parse (./node_modules/detective/index.js:9:18)
  at Function.exports.find (./node_modules/detective/index.js:44:15)
  at module.exports (./node_modules/detective/index.js:23:20)
  at ./node_modules/deppack/index.js:83:12
  at tryToString (fs.js:414:3)
  at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:401:12)

我不知道这是由Bower本身引起的,还是bootstrap-sass / jquery(通过Bower安装)。

如果我使用Bower的全局安装,问题就不会出现,但我的资产无法由Herunch上的Brunch编译(由于缺少Bower依赖性)。

实际上这个问题与Brunch installed with phoenix app doesn't work with bower assets相同,而且我也在使用凤凰城,但对我来说,仅仅通过升级Phoenix就解决了这个问题(我不知道这对Bower / Brunch的影响如何)。

在这个纠结的JavaScript框架网络中我缺少什么?

编辑:在本地和Heroku上使用nodejs v5.1.1和npm v3.3.12。

0 个答案:

没有答案