Как использовать htmlhint-loader с vuejs
Я пытаюсь настроить html linting с моим приложением vuejs, но я не уверен, как правильно настроить это с помощью моего конфига webpack. В настоящее время я пытаюсь с htmlhint-loader. Я установил его с помощью этой команды:
npm install htmlhint-loader --save
И добавил следующий код в мой webpack.base.config:
module: {
preLoaders: [
{
test: /\.vue$/,
loader: 'eslint', // I'm already using eslint which works as expected
include: projectRoot,
exclude: /node_modules/
},
{
test: /\(vue|html)$/,
loader: 'htmlhint',
include: projectRoot,
exclude: /node_modules/
},
...
...
Но это не работает, дайте мне знать, если что-то еще нужно, чтобы это работало.
Когда я использую это регулярное выражение:
test: /(vue|html)$/,
Я получаю следующую ошибку:
ОШИБКА в./~/html-webpack-plugin/lib/loader.js!./index.html Ошибка разбора модуля:> /Users/saurabh.mimani/work/codes/j/vue/node_modules/html-webpack-plugin /lib/loader.js!/Users/saurabh.mimani/work/codes/j/vue/node_modules/htmlhint-loader/index.js!/Users/saurabh.mimani/work/codes/j/vue/index.html Неожиданный токен (1:0) Вам может понадобиться соответствующий загрузчик для обработки этого типа файлов. Ошибка синтаксиса: неожиданный токен (1:0) в Parser.pp$4.Rise (/Users/saurabh.mimani/work/codes/j/vue/node_modules/webpack/node_modules/acorn/dist/acorn.js:2221:15) в Parser.pp.unexpected (/Users/saurabh.mimani/work/codes/j/vue/node_modules/webpack/node_modules/acorn/dist/acorn.js:603:10) в Parser.pp$3.parseExprAtom (/Users/saurabh.mimani/work/codes/j/vue/node_modules/webpack/node_modules/acorn/dist/acorn.js:1822:12) в Parser.pp$3.parseExprSubscripts (/Users/saurabh.mimani/work/codes/ J / вю / node_modules / WebPack / node_modules / жолудя / расстояние /acorn.js:1715:21)
2 ответа
htmlhint-loader
не могу проверить vue -> template
код. но загрузчик htmllint может работать хорошо.
Тогда вам нужны webpack-объединения-загрузчики
var combineLoaders = require('webpack-combine-loaders')
...
preLoaders: {
html: combineLoaders([
{
loader: 'htmlhint-loader',
exclude: /node_modules/,
options: {
rulesDir: 'rules/',
'my-new-rule': 'this is pass to the rule (option)'
}
}
])
}
...