Uczę się tego moduł importujący na paczce internetowej. Zrobiłem już kilka projektów demonstracyjnych pakietu webpack, wykonując samouczki.
Oto kod do skonfigurowania modułu ładującego:
// ./webpack.config.js
module.exports = {
...
module: {
loaders: [
{
test: require.resolve("some-module"),
loader: "imports?this=>window"
}
]
};
Moje pytania:
- Zwykle „test” powinien być wyrażeniem regularnym. Co to jest
require.resolve("some-module")
tutaj? co to znaczy?
Odpowiedzi:
9 dla odpowiedzi № 1require.resolve("<moduleName>")
zwraca łańcuch zawierający ścieżkę do modułu, na przykład
> require.resolve("angular")
/tmp/node_modules/angular/index.js
więc w Twojej przykładowej nieruchomości test
będzie zawierać ciąg ze ścieżką do modułu some-module
, domyślnie pakiet internetowy nawraca się ciąg do wyrażenia regularnego, więc końcowa wersja konfiguracji modułu ładującego będzie wyglądać tak:
{
test: /^node_modules/some-module/index.js/,
loader: "imports?this=>window"
}
jak widać ten moduł ładujący zostanie zastosowany tylko do jednego pliku
0 dla odpowiedzi nr 2
Wymagany moduł webpack .resolve zwraca identyfikator modułu - webpack.js.org/api/module-methods/#require-resolve
Identyfikator modułu to liczba w pakiecie internetowym (w przeciwieństwie do NodeJS, gdzie jest string - nazwa pliku).