プロジェクトの構造:
- 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
どんな考えでも大歓迎です。
よろしく、