У меня есть проект, работающий с Angular 2 и webpack 2, но в настоящее время я загружаю все свои шаблоны непосредственно в файл js без дополнительной загрузки шаблона с сервера. Это прекрасно работает.
@Component({
selector: 'logmonitor',
styleUrls: [ './logmonitor.component.less' ],
templateUrl: './logmonitor.component.html'
}) ...
но мне нужно загрузить только некоторые шаблоны из представления cshtml, и представления должны загружаться только с дополнительным запросом сервера, когда я открываю эти представления.
Я создал простое представление cshtml в папке с представлениями, и я могу напрямую «показать» его при вводе правильного контроллера/действия в URL-адрес. Это работает"
но я пытался установить это, чтобы загрузить шаблон
@Component({
selector: 'testView',
templateUrl: 'Logviewer/TestLogview',
}) ...
но webpack не скомпилирует представление, выдает ошибку
Module not found: Error: Can't resolve './Logviewer/TestLogview' in 'C:\SourceControl\WebLogViewer\App\Views\LogViewer'
правильно файл вставлен
C:\SourceControl\WebLogViewer\Views\LogViewer
но я не хочу, чтобы веб-пакет пытался разрешить этот URL-адрес, сам angular должен вызывать этот URL-адрес при загрузке представления. Я думал, что webpack не будет пытаться загрузить файл cshtml, если я не напишу «./» перед именем файла, но это не работает. Есть ли решение, как я могу запретить веб-пакету анализировать все templateUrl?
это мой текущий загрузчик для файлов html, но он не должен анализировать строку, потому что в конце нет .html :-/
{
test: /\.html$/,
use: ['raw-loader'],
exclude: [helpers.root('App/index.html')]
},