BREAKING CHANGE: больше не разрешается пропускать суффикс '-loader' при использовании загрузчиков - PullRequest
0 голосов
/ 12 декабря 2018

Перенос веб-приложения, использующего require.js в "webpack": "^4.27.1" и установленного text-loader для загрузки файлов шаблонов подчеркивания, например,

define([
    'jquery',
    'underscore',
    'backbone',
    'text!templates/row.template.html'
], function(
    $, _, Backbone,
    Template
) {

Однако я вижу ошибку:

ERROR in ./public/assets/js/views/data.template.view.js
Module not found: Error: Can't resolve 'text' in '/public/assets/js/views'
BREAKING CHANGE: It's no longer allowed to omit the '-loader' suffix when using loaders.
                 You need to specify 'text-loader' instead of 'text',
                 see https://webpack.js.org/migrate/3/#automatic-loader-module-name-extension-removed
resolve 'text' in '/public/assets/js/views'

Однако у меня нет атрибута "loaders" в файле webpack.config.js.Я смог избавиться от этой ошибки, используя text-loader вместо text, например

define([
        'jquery',
        'underscore',
        'backbone',
        'text-loader!templates/row.template.html'
    ], function(
        $, _, Backbone,
        Template
    ) {

Есть ли более простой способ?Я не хочу менять десятки файлов с таким же синтаксисом.

Я попытался добавить следующее к webpack.config.js, но это не сработало:

module: {
        rules: [
            { test: /\.html$/, use: 'text-loader'},
        ]
      }
...