Я написал собственный загрузчик веб-пакетов, который должен принять html-файл в качестве входных данных, выполнить некоторую обработку и затем вывести файл.Однако, когда я заполняю свой входной файл текстом, он возвращает то, что похоже на пакетный файл javascript, содержащий этот текст, и когда я пытаюсь ввести html-элементы, он не может выполнить синтаксический анализ с сообщением «Возможно, вам потребуется соответствующий загрузчик для обработки этого».тип файла".Я удалил код обработки и попытался просто вернуть исходный код из загрузчика, но это все равно не работает, как ожидалось.
Что-то не так в моей конфигурации?Я не вижу большой разницы между моим загрузчиком и руководствами, на которые я смотрел, такими как https://webpack.js.org/contribute/writing-a-loader/ и https://jaketrent.com/post/how-to-write-webpack-loader/
webpack.config.js
const path = require('path');
module.exports =
{
entry: "./input.html",
output: {
filename: "output.html"
},
module:
{
rules: [
{
test: /\.html$/,
use: [
{
loader: path.resolve('my-loader.js'),
options: {}
}
]
}
]
}
};
my-loader.js
module.exports = function (source) {
return source;
};
package.json
{
"name": "webpack-sample",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "webpack -p",
"start": "webpack-dev-server"
},
"author": "",
"license": "ISC",
"devDependencies": {
"handlebars": "^4.0.12",
"handlebars-loader": "^1.7.0",
"webpack-cli": "^3.1.2",
"webpack": "^4.26.1",
"webpack-dev-server": "^3.1.10"
}
}
Когда это input.html
Hello
Это генерируется в output.html https://gist.github.com/Baffour/35365f95d934a447a682ea17b7c089b2
С текстом «Hello» в строке 9281
Когда это input.html
<body></body>
Сбой разбора с этой ошибкой:
ERROR in ./input.html 1:0
Module parse failed: Unexpected token (1:0)
You may need an appropriate loader to handle this file type.
> <body></body>
@ multi (webpack)-dev-server/client?http://localhost:8082 ./input.html main[1]
i 「wdm」: Failed to compile.