webpack---style-loader的配置:insertAt 和insert

Posted sunshine_uniq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webpack---style-loader的配置:insertAt 和insert相关的知识,希望对你有一定的参考价值。

这两天在配置webpack4.0的时候,出现了下面的问题

 module: {
        rules: [{
                test: /\\.css$/,
                use: [{
                    loader: \'style-loader\',
                    options: {
                        insertAt: "top"
                    },
                }, \'css-loader\']
            },
            { test: /\\.less$/, use: [\'style-loader\', \'css-loader\', \'less-loader\'] }
        ]
    }

在配置style-loader的时候我想使生成的style标签在head的标签中已有style标签的上面,但是我npm run dev的时候发生了下面的报错

 

 提示不存在insertAt, 现在是insert

然后我找了相关资料,在webpack4.0中insertAt已经被废弃,现在的api是insert, 这是一个函数,正确的配置如下:

 module: {
        rules: [{
                test: /\\.css$/,
                use: [{
                    loader: \'style-loader\',
                    options: {
                        insert: function(element) {
                            var parent = document.querySelector(\'head\');
                            var lastInsertedElement = window._lastElementInsertedByStyleLoader;
                            if (!lastInsertedElement) {
                                parent.insertBefore(element, parent.firstChild);
                            } else if (lastInsertedElement.nextSibling) {
                                parent.insertBefore(element, lastInsertedElement.nextSibling)
                            } else {
                                parent.appendChild(element)
                            }

                        }
                    },
                }, \'css-loader\']
            },
            { test: /\\.less$/, use: [\'style-loader\', \'css-loader\', \'less-loader\'] }
        ]
    }

 

以上是关于webpack---style-loader的配置:insertAt 和insert的主要内容,如果未能解决你的问题,请参考以下文章

vueJS mint-UI使用文档

Dubbo配置设计

SpringBoot:配置文件的作用配置文件的格式properties配置文件yml配置文件

Thinkphp配置文件的加载

Springboot多环境下多个配置文件规范配置方案

IDEA的常用配置,maven配置,git配置操作