2017-10-26 11 views
1

私はHerokuのNodeJs経由でSailsJsを持つアプリケーションを持っていましたが、私はbabeljsを実行できません。それは私のローカルホスト上の[OK]を実行しますが、私は常にエラーを取得:Heroku上のBabelJs: "/ app"ディレクトリに対してプリセット "env"を見つけることができませんでした

Error: Couldn't find preset "env" relative to directory "/app"

Herokuのは/appフォルダでitensため見に固執します。

app_name 
- api 
- assets 
- config 
- tasks 
- views 

私は今、私の.babelrc

.babelrc

http://babeljs.ioのドキュメントに従います。このプロジェクトは

マイアプリのフォルダ構造がある1つの/appのフォルダを持っていません。

{ 
    "presets": ["react", "env", "stage-1"], 
    "plugins": ["transform-class-properties"] 
} 

はすでに試した:

{ 
    "presets": ["react", "es2015", "stage-1"], 
    "plugins": ["transform-class-properties"] 
} 

私はes2015を使用するように.babelrcを設定すると、私はエラーを取得する:

Invalid: 
    `{ presets: [{option: value}] }` 
Valid: 
    `{ presets: [['presetName', {option: value}]] }` 

は、私はすでに依存関係

npm install babel-preset-es2015 

npm install babel-preset-react 

npm install babel --save-dev 

私をインストールpackage.json

{ 
    "name": "redux-cardeck", 
    "private": true, 
    "version": "0.0.1", 
    "engines": { 
    "node": "6.11.4" 
    }, 
    "description": "a Sails-Redux application for multi-player online card game", 
    "keywords": [ 
    "sailsjs", 
    "redux", 
    "es2015", 
    "webpack" 
    ], 
    "dependencies": { 
    "axios": "^0.13.1", 
    "babel-cli": "^6.26.0", 
    "babel-plugin-transform-class-properties": "^6.11.5", 
    "babel-plugin-transform-object-rest-spread": "^6.6.5", 
    "babel-polyfill": "^6.7.2", 
    "babel-preset-stage-1": "^6.13.0", 
    "connect-mongo": "0.8.2", 
    "css-loader": "^0.23.1", 
    "ejs": "2.3.4", 
    "file-loader": "^0.8.5", 
    "grunt": "0.4.5", 
    "grunt-babel": "^6.0.0", 
    "grunt-contrib-clean": "0.6.0", 
    "grunt-contrib-coffee": "0.13.0", 
    "grunt-contrib-concat": "0.5.1", 
    "grunt-contrib-copy": "0.5.0", 
    "grunt-contrib-cssmin": "0.9.0", 
    "grunt-contrib-jst": "0.6.0", 
    "grunt-contrib-less": "1.1.0", 
    "grunt-contrib-uglify": "0.7.0", 
    "grunt-contrib-watch": "0.5.3", 
    "grunt-sails-linker": "~0.10.1", 
    "grunt-sync": "0.2.4", 
    "include-all": "~0.1.6", 
    "node-sass": "^3.8.0", 
    "postcss-modules-extract-imports": "^1.0.0", 
    "postcss-modules-scope": "^1.0.0", 
    "rc": "1.0.1", 
    "react": "^0.14.9", 
    "react-dom": "^0.14.9", 
    "react-redux": "^4.4.8", 
    "react-router": "^2.6.1", 
    "react-tap-event-plugin": "^0.2.2", 
    "redux": "^3.7.2", 
    "redux-form": "^5.3.2", 
    "redux-optimist": "0.0.2", 
    "redux-optimistic-ui": "^0.3.2", 
    "redux-promise": "^0.5.3", 
    "redux-thunk": "^2.1.0", 
    "redux-undo": "^0.6.1", 
    "sails": "~0.12.1", 
    "sails-disk": "~0.10.9", 
    "sails-hook-babel": "^6.0.1", 
    "sails-mongo": "^0.12.2", 
    "sails-postgresql": "^0.11.4", 
    "sails-service-mailer": "^3.2.1", 
    "sails-webpack": "^1.0.13", 
    "sass": "^0.5.0", 
    "sass-loader": "^3.2.3", 
    "style-loader": "^0.13.1", 
    "unexpected-react": "^1.0.0", 
    "updeep": "^0.16.1", 
    "url-loader": "^0.5.7" 
    }, 
    "scripts": { 
    "debug": "node debug app.js", 
    "start": "./node_modules/.bin/babel-node app.js" 
    }, 
    "main": "app.js", 
    "repository": { 
    "type": "git", 
    "url": "git://github.com/vanphuong12a2/redux-cardeck.git" 
    }, 
    "author": "phuong", 
    "license": "", 
    "devDependencies": { 
    "axios-mock-adapter": "^1.6.1", 
    "babel-cli": "^6.26.0", 
    "babel-core": "^6.7.2", 
    "babel-loader": "^6.4.1", 
    "babel-preset-env": "^1.6.1", 
    "babel-preset-es2015": "^6.24.1", 
    "babel-preset-react": "^6.24.1", 
    "babel-preset-stage-0": "^6.24.1", 
    "css-modules-require-hook": "^4.0.0", 
    "jsdom": "^8.1.0", 
    "react-tools": "^0.13.3", 
    "redux-devtools": "^3.4.0", 
    "redux-logger": "^2.6.1", 
    "source-map": "^0.5.3", 
    "unexpected": "^10.10.8", 
    "webpack-dev-server": "^1.14.1" 
    } 
} 

既に誰かがHerokuでBabelJsを使用していましたか?私はなぜpackage.jsonでbabeljsを見つけることができないのか理解できません。私はそれが誰かを助けることができる場合、私は名前でapp

おかげでフォルダを持っていないHerokuのか、実際の相対的な構造に問題があると思う

"scripts": { 
    "debug": "node debug app.js", 
    "start": "./node_modules/.bin/babel-node app.js" 
    }, 

としてHerokuの上バベルのローカル設定しましたこれで私。

答えて

2

デフォルトでは、"devDependencies"に記載されている依存関係は、package.jsonにインストールされません。

この動作を変更するには、プリセットを"dependencies"に移動するか、手順hereを実行します。

+0

これは機能します。ありがとうございました!唯一の問題は、英雄からロードされたときにページが空白になっていることです。私はすでに "start": "node app.js"、 "start": "./node_modules/.bin/babel-node app.js"と "start": "babel-node app.js"を試しました。しかし、常に空白のページをロードする= / –

関連する問題