2017-04-02 4 views
1

私はクロームでそのパスを開いたときにローカルで動作するReactプロジェクトを持っています。私は無駄にStackOverflowのとHerokuののサポートページを洗い上げてきたReact:npm startを実行しているときに予期しないトークンがインポートされる

import React from 'react'; 
^^^^^^ 
SyntaxError: Unexpected token import 

:Herokuのに展開しようとしている(またはnpm startを実行している)しかし、私はこのエラーを取得します。

{ 
    "name": "my-app-name", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1", 
    "webpack": "webpack", 
    "start": "node ./my-app-name.jsx", 
    "postinstall": "webpack" 
    }, 
    "keywords": [], 
    "author": "", 
    "license": "ISC", 
    "dependencies": { 
    "babel-cli": "^6.24.0", 
    "babel-core": "^6.24.0", 
    "babel-loader": "^6.4.1", 
    "babel-preset-es2015": "^6.24.0", 
    "babel-preset-react": "^6.23.0", 
    "react": "^15.4.2", 
    "react-dom": "^15.4.2", 
    "react-redux": "^5.0.3", 
    "react-router": "^4.0.0", 
    "react-router-dom": "^4.0.0", 
    "redux": "^3.6.0", 
    "webpack": "^2.3.2" 
    }, 
    "engines": { 
    "node": "6.2.1", 
    "npm": "4.4.4" 
    } 
} 

そして、私のwebpack.config.js:

module.exports = { 
    entry: "./my-app-name.jsx", 
    output: { 
    filename: "./bundle.js" 
    }, 
    module: { 
    loaders: [ 
     { 
     test: [/\.jsx?$/, /\.js?$/], 
     exclude: /(node_modules)/, 
     loader: 'babel-loader', 
     query: { 
      presets: ['es2015', 'react'] 
     } 
     } 
    ] 
    }, 
    devtool: 'source-map', 
    resolve: { 
    extensions: ["*",".js", ".jsx" ] 
    } 
}; 

マイノードとNPMのバージョンがpackage.jsonに記載されているものと同じである

は、ここに私のpackage.jsonです。私はすべてが正しくインストールされ、他のStackOverflow答えのどれも助けていないことを確認するためにトリプルチェックしました。確かにそれはBabelとの問題の一部でなければならないが(それはimportを認識しないため)、私はそれが何であるか把握できない。

答えて

0

my-app-name.jsxは、トランスビルドされたビルドではありません。 node ./my-app-name.jsxの代わりに、ノードをポイントする必要があります。node ./bundle.js

+0

これを 'node。/ bundle.js'に変更しました。これで、私のバンドルに' ReferenceError:document is not defined ' on document.addEventListener' –

+0

ブラウザ環境でコードが実行されていないと思われます。おそらく私はあなたをさらに手伝ってくれるでしょうか? – sammkj

+0

ブラウザとノードjの両方をサポートする必要がある場合は、コードを別々に構造化したり、各環境をターゲットに設定したり、環境固有の関数を条件チェックでラップするだけで、便利です。https:// www。 npmjs.com/package/is-dom – corse32

関連する問題