Ответ 1
Итак, после некоторого мастерства я нашел способ сделать это. Поскольку я не хотел добавлять параметр запроса exportAsEs6Default для каждого оператора импорта, я изменил его с явного загрузчика для html на сконфигурированный загрузчик.
Я оставлю этот вопрос открытым, если кто-то знает лучший способ, так как в настоящее время я не уверен, что я все доволен этим способом (что-то, родное для typescript, будет найдено без необходимости загрузчик), но, возможно, это поможет другим, столкнувшимся с одной и той же проблемой.
Итак, инструкция import из приведенного выше примера изменилась на
import templateString from "./Hello.html";
Вместе с обновленным файлом определения
declare module "*.html" {
const content: string;
export default content;
}
И файл конфигурации webpack изменился на это:
"use strict";
module.exports = {
entry: "./WebApp/Hello.ts",
output: {
path: "./wwwroot/compiled",
filename: "app.bundle.js"
},
resolve: {
extensions: ["", ".webpack.js", ".web.js", ".js", ".ts", ".html"]
},
module: {
loaders: [
{
test: /\.ts$/,
exclude: /node_modules/,
loader: "babel-loader!ts-loader"
},
{
test: /\.js$/,
exclude: /node_modules/,
loader: "babel-loader"
},
{
test: /\.html$/,
exclude: /node_modules/,
loader: "html-loader?exportAsEs6Default"
}
]
}
};
Нет изменений в используемых пакетах.