Как использовать плагин extract-loader для экспорта по умолчанию в es6? - PullRequest
0 голосов
/ 26 июня 2019

У меня есть следующий конфиг веб-пакета для моих html-файлов.Это

{
    test: /^(?!.*index).*(html)$/,
    use: [
        {
            loader: 'file-loader',
            options: {
                name: '[name].[ext]?[hash]',
            }
        },
        {
            loader: 'extract-loader'
        }, {
            loader: 'html-loader',
        }
    ]
},

Загрузчик html загружает мои импортированные html-файлы, загрузчик извлечения считывает html, а загрузчик файлов записывает их в мой выходной каталог, добавляя хэш.Пока все хорошо.

Теперь в моем приложении angularjs мне нужно сослаться на эти файлы следующим образом:

import './dashboard.html'

[...]

export let DashboardComponent: IComponentOptions = {
    templateUrl: 'dashboard.html',
    controller: CommonDashboardComponentController,
};

Это работает, но я потеряю преимущество хэша.

Если я импортирую html-файлы следующим образом:

import * as template from './dashboard.html';

Я могу использовать template в качестве tempateUrl.Но машинопись будет жаловаться.enter image description here

Когда я использую переключатель exportAsEs6Default с загрузчиком html, я могу выполнить импорт следующим образом:

import template from './dashboard.html'

Ис типом файла типа this, Я могу использовать template как templateUrl в моем компоненте.

Но загрузчик extract не работаетс экспортом по умолчанию и выдает SyntaxError: Неожиданный экспорт токена при попытке проанализировать экспорт по умолчанию.

Если я использую только html-загрузчик и вместо него использую template templateUrl это только работает.Но я действительно хочу иметь отдельные HTML-файлы в моей выходной директории.Я немного заблудился здесь и был бы признателен за любые советы.: -)

...