私は自分のカスタムWebpackビルドを使用してreact router tutorialを処理していますが、「予期しないトークン<」というエラーが発生しています。これは、通常、バベルtranspiler being incorrectly specifiedが原因です。ただし、ここでは該当しません。私のtranspilerは、devビルド中に指定されたとおりに動作しますが、実動ビルドと同じセットアップでは失敗します。なぜ私は考えていない。予期しないトークンに反応します<
マイ.babelrcファイルは、右のプリセットがあります
...
"presets": ["es2015", "stage-0", "react"]
...
私webpack.config.jsはdevに関するtranspileするためにこれを使用しています。
loaders: [{
test: /\.js$/,
loaders: ['react-hot', 'babel?cacheDirectory=' + PATHS.cache],
exclude: PATHS.node_modules
}...
私webpack.config.jsがtranspileにこれを使用しています
loaders: [{
test: /\.js$/,
loader: 'babel',
exclude: PATHS.node_modules,
}...
と私のpackage.jsonが持っているすべての権利のライブラリ:
0 PRODについて...
"devDependencies": {
"babel-core": "^6.0.20",
"babel-eslint": "^4.1.3",
"babel-loader": "^6.2.5",
"babel-plugin-transform-runtime": "^6.12.0",
"babel-preset-es2015": "^6.0.15",
"babel-preset-react": "^6.0.15",
"babel-preset-react-hmre": "^1.1.1",
"babel-preset-stage-0": "^6.0.15",
...
"dependencies": {
"react": "^0.14.6",
"react-d3-wrap": "^2.1.2",
"react-dom": "^0.14.6",
"react-redux": "^4.4.5",
"react-router": "^2.7.0",
...
不思議なことに、Chromeはindex.htmlをからHTMLを実際にがメイン.jsファイルを置き換えていることを報告しています。したがって、エラー。あなたがビルドhere
何ができるか任意のアイデアのレポを見つけることができます
:
はしかし、直接ファイルを検査すると、これがそうでないことが明らかになりましたここにいる?
EDIT:私のサーバがバンドルを要求すると、htmlに戻ります。
var express = require('express');
var path = require('path');
var compression = require('compression');
var app = express();
app.use(express.static(path.join(__dirname, 'dist')));
app.get('*', function (req, res) {
res.sendFile(path.join(__dirname, 'dist', 'index.html'))
});
var PORT = process.env.PORT || 8080;
app.listen(PORT, function() {
console.log("Production express server running at localhost: " + PORT)
});
EDIT2::だから、おそらくPROD-サーバーに何か問題があり何かが、私はここに要求を解決していますどのように問題があります。削除した場合:
app.get('*', function (req, res) {
res.sendFile(path.join(__dirname, 'dist', 'index.html'));
});
私は、バンドルにリクエストを送信してバンドルを取り戻すことができます。この行があると、バンドルを取得する要求を送信すると、index.htmlが返されます。
ブラウザがブラウザにバンドルを要求したときに、サーバは何を返しますか? –
@DavinTryon、質問を更新しました。 – Logister
あなたはおそらくブラウザから離れている.jsというリクエストをしているようです。あなたは.htmlとして要求するか、または明示的な側から正しいcontent-typeを返すようにする必要があります。 – agmcleod