WebPack publicPath не используется в серверной сборке

У меня есть универсальное приложение Javascript с двумя конфигами веб-пакетов - один для сервера и один для клиента. В обеих конфигурациях я использую файл-загрузчик, чтобы требовать статические файлы (шрифты, изображения и т. Д.) И получить URL для этих ресурсов.

В обоих конфигах я использую publicPath/static/, В сборке на стороне клиента URL-адреса активов имеют префикс, но на построенной стороне сервера - нет.

Вот конфигурация на стороне сервера:

const fs = require('fs');
const path = require('path');
const webpack = require('webpack');
const universalConfig = require('./universal.config.js');

// Exclude all modules in node_modules
// http://jlongster.com/Backend-Apps-with-Webpack--Part-I
const nodeModules = fs.readdirSync('node_modules')
  .filter(x => {
    return x !== '.bin' && x !== 'gsap';
  }).reduce((container, module) => {
    container[module] = `commonjs ${module}`;
    return container;
  }, {});

module.exports = {
  target: 'node',
  resolve: resolve: {
    root: path.resolve(__dirname, '../'),
    extensions: ["", ".js", ".jsx"]
  },
  entry: [
    'babel-polyfill',
    'server/entry.js'
  ],
  output: {
    filename: 'server.js',
    path: path.resolve(__dirname, '../build/server'),
    publicPath: '/static/'
  },
  externals: nodeModules,
  plugins: [
    new webpack.BannerPlugin(
      'require("source-map-support").install();',
      { raw: true, entryOnly: false }
    ),
    new webpack.NormalModuleReplacementPlugin(/gsap/, 'node-noop')
  ],
  node: {
    __dirname: true
  },
  module: loaders: [
    {test: /\.jsx?$/, exclude: /node_modules/,loader: 'babel'},
    {test: /\.(eot|svg|ttf|woff2?|jpg|png)$/i, loader: 'file-loader'}
  ]
};

Кто-нибудь может понять, почему output.publicPath опция конфигурации не используется в обязательных вызовах?

0 ответов

Другие вопросы по тегам