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