Загрузчик сырья с импортом ES6
Я пытаюсь использовать ES6 с веб-пакетом. Это нормально для импорта / экспорта модуля javascript, но я не могу заставить работать raw-loader.
Вот что я собираюсь сделать в моем исходном файле
import template from './template.html'
Файл template.html содержит необработанный HTML.
module.exports = {
context: __dirname,
entry: [
'babel-polyfill',
'./app/app.js',
],
module: {
preLoaders: [
{
test: /\.js$/,
include: __dirname + '/app/',
loader: 'eslint-loader',
},
],
loaders: [
{
test: /\.js$/,
include: __dirname + '/app/',
loader: 'babel-loader?presets[]=es2015',
},
{
test: /\.html$/,
include: __dirname + '/app/',
loader: 'raw-loader',
},
],
},
output: {
path: './build/',
filename: 'app.js',
},
};
Когда я запускаю веб-пакет, код генерируется так:
module.exports = "module.exports = \" hello\\n <div>\\n <ul>\\n <li ng-repeat...
Это должно быть только "hello\n <div>..."
Строка, которая должна быть экспортирована.
Любая помощь в этом? Я действительно не понимаю, как это сделать.
1 ответ
Импорт с помощью raw-loader возвращает объект со свойством по умолчанию (импорт * в качестве шаблона из "./file"). Вы можете назвать это template.default, чтобы получить то, что вы хотите.
Здесь был вопрос Simmillar
И здесь вы не можете взглянуть на то, как можно обновить код загрузчика raw, чтобы использовать импортированное значение как есть. Просто возился с этим какое-то время