带有sourcemaps和url语句的Webpack sass加载器

时间:2015-11-24 17:28:36

标签: javascript sass webpack sass-loader

我已经读过为了拥有源地图,我必须在url('')语句中使用绝对URL。 我是这样做的:

body
    background-image: url('/elements/assets/tmp_background.jpg')

当我从css加载器中删除sourceMap选项时,它会起作用,如果我激活它就不行。

我想我可能在绝对路径上某处失败了,你有什么想法吗?

这是我的配置文件:

module.exports = {
  devtool: 'source-map',
  entry: [
    'webpack/hot/dev-server',
    'webpack-dev-server/client?http://localhost:8080',
    path.resolve(__dirname, 'elements/main.js'),
  ],
  output: {
    path: 'dist',
    publicPath: '/',  // Prefix for all the statics urls
    filename: 'bundle.js',
  },
  resolve: {
    root: path.resolve(__dirname),
  },
  module: {
    loaders: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: 'babel-loader?presets[]=es2015',
      },
      { test: /\.css$/,  loaders: ['style', 'css'] },
      { test: /\.scss$/, loaders: ['style', 'css?sourceMap', 'sass?sourceMap'] },
      { test: /\.sass$/, loaders: ['style', 'css?sourceMap', 'sass?sourceMap&indentedSyntax=true'] },
      { test: /\.jade$/, loaders: ['ngtemplate', 'html', 'jade-html'] },
      { test: /\.(png|gif|jp(e)?g)$/, loader: 'url-loader?limit=8192' },
      { test: /\.(ttf|eot|svg|woff(2))(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'url-loader?limit=50000' },
    ],
  },
};

从一个更笼统的想法来看,我找不到一个我正在尝试做的实例。如果你能重定向我,我会很感兴趣。

1 个答案:

答案 0 :(得分:1)

可以使用publicPath来解决此问题,直到出现更清晰的解决方案。

请参阅https://github.com/webpack/css-loader/issues/29