【问题标题】:Dynamic host name in publicPath in webpackwebpack中publicPath中的动态主机名
【发布时间】:2015-11-13 18:40:25
【问题描述】:

我的配置是这样的:

module.exports = {
    //...
    output: {
        path: path.join(__dirname, 'assets'),
        publicPath: '//cs0.mysite.com/assets/',
        filename: '[name].[chunkhash].js',
        chunkfilename: '[id].[chunkhash].js',
    }
    //...
}

我不想在主机名中放置静态 cs0 部分,而是将文件分发到十个主机:

 cs[0-9].mysite.com

我想计算资产 url 上的哈希以确定要附加的主机。我该怎么做?

【问题讨论】:

    标签: webpack bundling-and-minification


    【解决方案1】:

    你可以使用multi-compiler feature:

    var domains = ['cs0', 'cs1', 'cs2', 'cs3', 'cs4', 'cs5', 'cs6', 'cs7', 'cs8', 'cs9'];
    module.exports = domains.map(function (domain) {
        return {
            //...
            output: {
                path: path.join(__dirname, 'assets'),
                publicPath: '//' + domain + '.mysite.com/assets/',
                filename: '[name].[chunkhash].js',
                chunkfilename: '[id].[chunkhash].js',
            }
            //...
        };
    });
    

    【讨论】:

    • 这是针对不同环境的单独配置。我需要在单一环境中使用不同的主机名。例如,我希望某些文件具有 cs0.mysite.com,某些文件具有 cs1.mysite.com 等,即它们必须均匀分布在所有主机上。
    • 你可以随心所欲地使用这个想法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    • 2015-05-04
    • 1970-01-01
    • 2015-10-26
    • 1970-01-01
    • 2017-08-07
    相关资源
    最近更新 更多