2017-03-20 13 views
1

に予期しないトークン http://example.com/testsite/で設定.htaccessファイルを持っている: キャッチされないでSyntaxError:リアクトJS

RewriteEngine On 

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR] 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d 
RewriteRule^- [L] 

RewriteRule^index.html [L] 

私はその後、私のindex.jsファイルにルーティングを設定しようとしています。私のルートは、このようなhttp://example.com/testsite/page1

としてただ1つのレベルである。しかし、私は、このようなhttp://example.com/testsite/category/page1などの経路に接続しようとした場合、私は次のエラーを取得する場合は正常に動作します:

Uncaught SyntaxError: Unexpected token <   bundle.js:1 

マイrouteコマンドは次のようになります:

<BrowserRouter> 
     <div> 
      <Switch> 
       <Route exact path={"/testsite"} component={Front} /> 
       <Route path={"/testsite/page1"} component={Works} /> 
       <Route path={"/testsite/category/page1"} component={NotWorks} /> 
       <Route component={ErrorPage404} /> 
      </Switch> 
     </div> 
</BrowserRouter> 

第3のルータのパスを削除しても、エラーページを表示しようとしても同じエラーが表示されます。私がルータのコードを完全に削除すると、私はまだエラーが発生します。これは、ルータコード自体とは関係ないと私に信じさせます。それ以外に何が問題なのでしょうか?

UPDATE:

要求されたとして、ここに私のwebpack.config.jsファイルです:

var webpack = require('webpack'); 
var path = require('path'); 

var DIST_DIR = path.resolve(__dirname, 'dist'); 
var SRC_DIR = path.resolve(__dirname, 'src'); 

var config = { 
    entry: SRC_DIR + '/app/index.js', 
    output: { 
     path: DIST_DIR + '/public/js', 
     filename: 'bundle.js' 
    }, 
    module: { 
     loaders: [ 
      { 
       test: /\.jsx?$/, 
       include: SRC_DIR, 
       loader: 'babel-loader', 
       query: { 
         presets: ['es2015','react'] 
       } 
      } 
     ] 
    }, 
}; 

module.exports = config; 

マイ.babelrc

{ 
    "presets" : ["es2015", "react"] 
} 
+0

BabelをJSXから通常のJSに移行するために使用していますか? – Li357

+0

@AndrewLi、私はそうです。 – kojow7

+0

質問に.babelrcやwebpackの設定を含めることができますか? –

答えて

1

は、私はこの問題を突き止めと発見しました私のindex.htmlファイル内のスクリプト行を次のように変更する必要がありました。

これに
<script src="js/bundle.js" type="text/javascript"></script> 

<script src="/testsite/js/bundle.js" type="text/javascript"></script> 

この理由は、バックエンドでの.htaccessはindex.htmlをするために、すべてのトラフィックをリダイレクトしながら、ブラウザでのパスは変わらないされていることです。したがって、ブラウザがjavascriptファイルをロードしようとすると、/ testsite/category /ディレクトリ(これは技術的には存在しません)で、/ testsite /ディレクトリで探します。

関連する問題