EDYCJA: Nie znalazłem sposobu na zaimportowanie szablonów za pomocą import
oświadczenie zamiast require
, ale odkryłem, że mogę uprościć moją konfigurację.
W konfiguracji pakietu internetowego użyj html-loader
zamiast ngtemplate-loader
dla /.html$/
. Następnie w komponencie wymagaj szablonu u góry pliku, tak jak w oryginalnym poście, ale zmień „templateUrl” na „template” w definicji komponentu. Webpack zrobi za ciebie resztę.
const template = require("./component.html");
class Example(){
...
}
export const component = {
bindings: {},
controller: Example,
template: template
};
oryginalny post:
Mam działające rozwiązanie ngtemplate-loader:
const template = require("./component.html");
import ExampleService from "./example.service";
class Example() {
constructor(private exampleService: ExampleService) {
}
...
}
export const component = {
bindings: {},
controller: Example,
templateUrl: template
};
Ale obawiam się, że moi koledzy sprzeciwiają się require
składnia. Widzę, że migruję naszą aplikację z Grunt do Webpack2, a bieżąca aplikacja używa tylko import foo from "./bar"
składnia.
Nie importujemy również szablonów z plików javascript w naszej bieżącej kompilacji; używamy wywołania zwrotnego w szablonUrl, aby zwrócić ciąg znaków.
import ExampleService from "./example.service";
class Example() {
constructor(private exampleService: ExampleService) {
}
...
}
export const component = {
bindings: {},
controller: Example,
templateUrl: ["constantsFactory", function(constantsFactory) {
return `${constantsFactory.path}/component.html`;
}]
};
Czy istnieje moduł ładujący webpack, który może zapełnić $ templateCache bez require
?
Jeśli nie, czy istnieje sposób na zaimportowanie szablonów w maszynie import
składnia?
Odpowiedzi:
0 dla odpowiedzi № 1Nie ma sposobu na dodanie szablonów do $ templateCache przy użyciu import
składni, ale możesz dodać szablony do pamięci podręcznej, używając składni „wymagaj”.
Najlepszy program ładujący, jaki mogę teraz znaleźć.