2

我正在尝试将资产加载到我的 css 中,在某些情况下(更大的文件),复制到特定目录。使用 url 加载器并为名称模板定义查询参数时,出现错误:

错误:路径变量 [name] 未在此上下文中实现:[path][name].[ext]?7770f0c15c5bc5d8291a

我正在使用具有定义输出的多个入口点,我不确定这是否是问题所在。有没有办法强制上下文?Webpack 配置如下。

module.exports = [{
    debug: !isProduction,
    devtool: isProduction ? false : 'source-map', 
    entry: {
        // Globals:
        './public/dist/css/base' : './src/scss/base',
        './public/dist/css/module' : './src/scss/module',
    },
    output: {
        path: __dirname,
        filename: '[name].css',
    },
    module: {
        loaders: [
            {
                test: /\.css$/, 
                loader: 'style-loader!css-loader'
            }, {
                test: /\.scss$/,
                loader: ExtractTextPlugin.extract('style', ['css?sourceMap', 'postcss', 'sass?sourceMap'])
            }, {
                test: /.*\.(gif|png|jpe?g|svg)$/i,
                loaders: [
                    'url?{limit: 2048, name: "[path][name].[ext]?[hash]"}'
                ],
                include: path.join(__dirname, 'src/images')
            }
        ]
    },
    resolve: {
        extensions: ['', '.css', '.scss'],
        root: [path.join(__dirname, './src')]
    },
    plugins: plugins,
    resolveUrlLoader: {
        root: './public/dist/images'
    },
    postcss: [
        autoprefixer({
            browsers: ['last 2 versions']
        })
    ],
    sassLoader: {
        includePaths: [path.resolve(__dirname, './src/scss')],
        outputStyle: isProduction ? 'compressed' : 'expanded'
    },
}]

这是我的文件结构:

- src
  |- sass
  |- js
  |- images
- public
  |- css
  |- js
  |- images
4

0 回答 0