2017-02-10 15 views
1

Reactアプリケーションを作成していますが、Webpackの設定に入るためにnpm ejectを使用しました。資産へのパスを変更して、スラッシュがないようにしたい。これは、私が自分のアプリケーションを実行すると、ファイルをRatpackサーバーにコピーするので、パスが/assets/js/main.jsのときは、自分のアセットフォルダではなく私のルートを指しているからです。それは常に先頭のスラッシュに追加しかしWebpack config with React

だから私の現在のWebPACKの設定は

output: { 
    // The build folder. 
    path: paths.appBuild, 
    // Generated JS file names (with nested folders). 
    // There will be one main bundle, and one file per asynchronous chunk. 
    // We don't currently advertise code splitting but Webpack supports it. 
    filename: 'assets/static/js/[name].[chunkhash:8].js', 
    chunkFilename: 'assets/static/js/[name].[chunkhash:8].chunk.js', 
    // We inferred the "public path" (such as/or /my-project) from homepage. 
    publicPath: publicPath 
    }, 

です。そう

<script type="text/javascript" src="/assets/static/js/main.4d5cbecd.js"> 

同様

は、それはあなたがcreate-react-appの設定について話していると仮定すると、

<script type="text/javascript" src="assets/static/js/main.4d5cbecd.js"> 

答えて

0

のように構築しますので、あなたが行publicPath: publicPathを削除し、それができ、それを持ってする方法はありますスラッシュを付けずに生成します。

ただし、インデックスページにリダイレクトするのではなく、特にリクエストされたときにサーバーがファイルを処理する必要があると思います。それが起こっているならば。

もう1つのアドバイスは、開発用ビルドの代わりにプロダクションビルドを使用することです。