Как мне требуется изображение в Pug с помощью Webpack

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

{
    test: /\.pug$/,
    loaders: ["pug-html"]
}

Это прекрасно работает, теперь я хочу добавить изображение, которое я загружаю с помощью url-загрузчика. Моя структура такая

src
  ...
    thing
      thing.template.pug
      thing.png

И я хочу, чтобы включить PNG в файл мопса, который я добавляю...

IMG (SRC ="thing.png")

Это не решает, поэтому я попробовал такие вещи, как img(src=require("thing.png")), Ни одна из этих работ. Я попытался добавить html-загрузчик, как это...

 {
      test: /\.pug$/,
      loaders: ["html?interpolate=require&-minimize", "pug-html"]
 },

но потом я получаю...

Module not found: Error: Cannot resolve directory './\"thing.png\"' in .../src/.../thing
 @ ./src/.../thing/thing.template.pug 1:128-164

Это все прекрасно работает в моем стилусе с...

    {
      test: /.*[^\.global]\.styl$/,
      loaders: ["to-string", "css", "stylus"]
    },

Я тоже пытался...

img(src=statesmall.png)

и получить Cannot read property 'png' of undefined

Также, если я прокомментирую эту строку с HTML там, я вижу...

"Template parse errors:
Unexpected closing tag "div" ("module.exports = "<div><h1>Hey</h1><div class=\"terminal-output\">this thing</div>[ERROR ->]</div>";"): TerminalComponent@0:97"

Как мне требуется изображение в мопс?

2 ответа

Это сработало для меня (хотя не совсем то, что я хотел)...

{
  test: /\.pug$/,
  loaders: ["apply", "pug"]
},

img(src=require("./thing.png"))

Конечно, мне не нравится переходить в требование, когда я могу транслировать в загрузчик HTML, но я не могу заставить его работать.

Я знаю, что это несколько месяцев спустя, но я нашел ответ в документации по html-загрузчику, когда у меня только что возникла та же проблема.

По сути, каждый раз, когда загрузчик находит img тег пытается разрешить по умолчанию, но вы можете установить attrs параметр запроса к false чтобы остановить это поведение. Конечно, теперь вы должны помнить, что пути img относительно папки сборки, в которой находится ваш отрендеренный HTML, больше не будут зависеть от url-загрузчика.

Другие вопросы по тегам