Не подключаются фотки webpack

330
13 ноября 2017, 22:51

Когда запускаю сборку webpack локально для фронтенда то все работает и фотки собираются.

    const ExtractTextPlugin = require('extract-text-webpack-plugin');
var webpack = require('webpack');
var path = require('path');
    module.exports = {
        context: __dirname,
        entry: {
            bundle: "./src/index.jsx",
            common: "./static/js/common.js",
            libs: "./static/js/libs.js",
            main_gmaps: "./static/js/main_gmaps.js"
        },
        output: {
            path: __dirname + '/public',
            filename: "[name].js",
            publicPath: '/public/'
        },
        module: {
            loaders: [
                {
                    test: /\.js|.jsx?$/,
                    exclude: /(node_modules)/,
                    loader: 'babel-loader',
                    query: {
                        presets: ['react', 'es2015']
                    }
                },
                {
                    test: /\.(png|jpg)$/,
                    loader: 'file-loader?name=[path][name].[ext]!extract-loader!html-loader'
                },
                {
                    test: /\.sass$/,
                    loader: ExtractTextPlugin.extract('css-loader!resolve-url-loader!sass-loader?sourceMap')
                }
            ]
        },
        resolve: {
            extensions: ['.js', '.jsx'],
        },
        plugins: [
            new ExtractTextPlugin({ filename: 'app.css', allChunks: true }),
            new webpack.HotModuleReplacementPlugin()
        ],
        devServer: {
            hot: true,
            historyApiFallback: true,
            contentBase: './'
        }
    };

Но когда перехожу на серверную разработку то практически тот же самый код не собирает фотки.

Вот код webpack.config.dev.js:

var path = require('path');
var webpack = require('webpack');
module.exports = {
  context: __dirname,
  entry: "./src/index.jsx",
  output: {
    path: path.resolve(__dirname, 'public/'),
    filename: "bundle.js",
    publicPath: '/public/'
  },
  module: {
    loaders: [
      {
        test: /\.js|.jsx?$/,
        exclude: /(node_modules)/,
        loader: 'babel-loader',
        query: {
          presets: ['react', 'es2015']
        }
      },
      {
        test: /\.(gif|png|jpe?g|svg)$/i,
        use: [
          'file-loader',
          {
            loader: 'image-webpack-loader',
            options: {
              bypassOnDebug: true,
            },
          },
        ],
      },
      {
        test: /\.sass$/,
        loader: 'style-loader!css-loader!resolve-url-loader!sass-loader?sourceMap'
      }
    ]
  },
  resolve: {
    extensions: ['.js', '.jsx'],
  },
  plugins: [
    new webpack.HotModuleReplacementPlugin()
  ],
  devServer: {
    historyApiFallback: true,
    contentBase: './'
  }
};

и код server.js который собственно и запускаю:

var path = require('path');
var bodyParser = require('body-parser');
var express = require('express');
var webpack = require('webpack');
var config = require('./webpack.config.dev.js');
var app = express();
var compiler = webpack(config);
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(require('webpack-dev-middleware')(compiler, {
    noInfo: true,
    publicPath: config.output.publicPath
}));
app.use(require('webpack-hot-middleware')(compiler));
app.use('/public', express.static('public'));
app.get('*', function(req, res) {
    res.sendFile(path.resolve(__dirname, 'index.html'));
})
app.listen(process.env.PORT || 5000, function(err) {
    if(err) {
        console.log(err);
        return;
    }
    console.log('Listening at http://localhost:5000');
})

Как исправить это? Все подгружает - стили, js но фотки нет.

READ ALSO
Как правильно спроектировать систему

Как правильно спроектировать систему

Пишу систему создания тестовПоявилась такая проблема

280
Запрет HTML5 Notifications

Запрет HTML5 Notifications

Можно ли запретить плагинам создать HTML5 Notifications на странице?

332
Преобразование ссылок A из HTML в ссылки React Router

Преобразование ссылок A из HTML в ссылки React Router

У меня есть проект React TypeScript ASPNET Core 2

268