プロジェクトの構造:
- Webpack はアプリを
public
フォルダーにビルドしています - 同時に、次のような静的アセットがいくつかあります。
public/assets/font-awesome-4.7.0/css/font-awesome.css
私が欲しいもの:
- 開発目的で
express
アプリを実行したいwebpack-dev-middleware
- 静的アセット (によって処理されない) に対するすべての要求が、フォルダー
webpack
から提供されるようにしたいpublic
私がそれをやろうとした方法:
最初の試み
app.use(require('webpack-dev-middleware')(compiler, {
stats: { colors: true }
}));
app.use(require('webpack-hot-middleware')(compiler));
app.use('/', feathers.static(app.get('public'))); // express.static
フォルダに入るまで、これはうまく機能index.html
しpublic
ます。あなたがそれを持っている場合 - 静的なものが提供され、webpack-dev-middleware
.
二度目の試み
それから私は考えました-おそらく私express.static
は生産の場合にのみ使用しなければならないでしょう、私はそれを削除しました. 今、私は開くことができませんでした/assets/font-awesome-4.7.0/css/font-awesome.css
3回目の試行(現在機能するハック)
最後にそれを機能させましたが、現在のソリューションには満足していません。これでwebpack構成を拡張することにより、すべてのassets
ディレクトリを手動でレルムに入れました:webpack
new CopyWebpackPlugin([
{ from: 'public/assets/', to: 'assets' },
{ from: 'node_modules/bootstrap/dist/', to: 'vendor/bootstrap/dist' }
]),
ただし、この方法は、提供したいすべての静的ファイルを指す必要があることを前提としていますwebpack-dev-middleware
どんな考えでも大歓迎です。
よろしく、