Webpack ngTemplate-loader не будет включать мои шаблоны в комплект: как отлаживать?

Я использую веб-пакет для создания углового проекта. Моя конфигурация веб-пакета скопирована из другого проекта, где она успешно работает.

Но в моем проекте он не будет включать шаблоны.html в результирующий пакет javascript.

Вот интересующая часть конфигурации веб-пакета:

const webpackConfig = {
    ...
    module: {
        ...
        plugins: [
            new HtmlWebpackPlugin({
                inject: "body",
                template: "app/index.html",
                filename: "index.html"
             })
        ],
        loaders: [
            ...
            {
                test: /\.html$/,
                exclude: `${path.join(__dirname, "/app/index.html")}`,
                loaders: [`ngtemplate?relativeTo=${path.join(__dirname, "/app")}`, "html"]
            }
        ]
    }
}

Эшафот моего проекта выглядит следующим образом:

├── app
│   ├── app.js
│   ├── components
│   │   ├── auth
│   │   │   ├── auth.module.js
│   │   │   ├── auth.service.js
│   │   │   └── user.service.js
│   │   ├── footer
│   │   │   └── footer.html
│   │   ├── header
│   │   │   └── header.html
│   │   ├── home
│   │   │   ├── home.html
│   │   │   └── home.module.js
│   │   ├── navigation
│   │   │   └── navigation.html
│   │   ├── right_sidebar
│   │   │   └── right_sidebar.html
│   │   └── util
│   │       ├── util.module.js
│   │       └── util.service.js
│   ├── index.html
│   └── shared
├── assets
├── package.json
├── gulpfile.js
└── webpack.config.js

В index.html Я говорю:

<div id="header" ng-include="'/components/header/header.html'"></div>

и шаблон заголовка не включен в результирующий app.<hash>.js расслоение. Как это отладить?

1 ответ

Решение

Html-loader не разбирается ng-include атрибут по умолчанию. Итак, вам нужно пройти attrs параметр для загрузчика:

html?attrs[]=div:ng-include
Другие вопросы по тегам