2

我在 scss 文件中定义了一些背景图像。我正在使用带有 scss 加载器的 ExtractTextPlugin 在构建目录中提取 css 文件。但是,问题是编译后的css文件中输出的路径不正确。如何通过 webpack bundler 修改 css 文件包含的路径。

Webpack.config.js

/* Custom Config */
var ProgramID = '1111';

/* Default Config */
var webpack = require('webpack');
var path = require('path');
var polyfill = require("babel-polyfill");
var ExtractTextPlugin = require("extract-text-webpack-plugin");

var BUILD_DIR = path.resolve(__dirname, 'build/Programs/' + ProgramID);
var APP_DIR = path.resolve(__dirname, 'src/import');

module.exports = {
  entry: [
    'babel-polyfill',
    'webpack-dev-server/client?http://localhost:8080/',
    APP_DIR + '/import.js'
  ],
  output: {
    path: BUILD_DIR + '/',
    filename: '/js/bundle.js',
    publicPath: '../Programs/' + ProgramID
  },
  module: {
    loaders: [{
      test: /\.jsx?$/,
      loaders: ['react-hot', 'babel?presets[]=es2015,presets[]=react,plugins[]=transform-runtime'],
      exclude: /node_modules/
    }, {
      test: /\.css$/,
      loader: ExtractTextPlugin.extract("style-loader", "css-loader")
    }, {
      test: /\.scss$/,
      loader: ExtractTextPlugin.extract(['css','sass'])
    }, {
      test: /\.(png|woff|woff2|eot|ttf|svg|jpg|gif)$/,
      loader: 'file-loader?name=/images/[name].[ext]'
    }]
  },
  plugins: [
    new ExtractTextPlugin("style.css"),
    new webpack.HotModuleReplacementPlugin(),
    new webpack.NoErrorsPlugin()
  ],
  process: function(path, filename) {
    if (filename.indexOf('node_modules') === -1) {
      path = babelJest.process(path, filename);
      path = webpackAlias.process(path, filename);
    }
    return path;
  },
  externals: {
        "jquery": "jQuery"
    }
};
4

0 回答 0