这个单一的webpack html加载器语法是什么意思?

时间:2016-08-10 01:48:54

标签: javascript html webpack config loader

要解决我在webpack.config.js文件中遇到的问题,我从a webpack blog复制了一行。该行已在下面的代码中加注星标。然而,我似乎无法轻易弄清楚这条线正在做什么,谷歌搜索并没有让我得到一个简单的解释。那么,指示行的目的/语法是什么?一个简短的解释可能就足够了,但是一些(官方)文档的链接也会有所帮助。

var path = require('path');

module.exports = {
    entry: {
        javascript: ['babel-polyfill', './src/main.js'],
        html: './index.html'
    },
    output: {
        path: path.join(__dirname, 'build'),
        filename: 'bundle.js'
    },
    devtools: 'inline-source-map',
    module: {
        loaders: [
            {
                loader: 'babel-loader',
                test: path.join(__dirname, 'src'),
                query: {
                    presets: ['react', 'es2015', 'stage-2']
                }
            },
            {
                test: /\.html$/,
                loader: 'file?name=[name].[ext]' // <---- **********
            }
        ]
    }
};

2 个答案:

答案 0 :(得分:3)

webpack文件加载器允许您使用name=查询参数为导入的文件指定自定义文件名模板:

this

答案 1 :(得分:2)

Webpack 1支持完全通过像DSL这样的查询字符串配置加载程序。用配置的替代语法编写清楚(呃)发生了什么:

{
  test: /\.html$/,
  loader: 'file', // Use the file loader
  query: {  // Configuring it with the following options
    name: '[name].[ext]'
    // Set the name of the HTML files that are output to be
    // the local name of the file, followed by a literal dot character
    // followed by the file's extension.
  }
}