/ / what is need.resolve w teście modułu ładującego webpack - webpack

to, czego wymaga .resolve w teście ładowacza sieci Web - pakiet internetowy

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:

  1. Zwykle „test” powinien być wyrażeniem regularnym. Co to jest require.resolve("some-module") tutaj? co to znaczy?

Odpowiedzi:

9 dla odpowiedzi № 1

require.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).