Porównaj ceny domen i usług IT, sprzedawców z całego świata

Treść niebędąca pakietem sieciowym jest dostarczana z/foo


Po prostu nie mogę uruchomić tego serwera, czytam

dokumenty
https://webpack.js.org/configu ... erver
webpack-dev-server .
devServer: {
contentBase: path.join(__dirname, "dist"),
compress: true,
port: 9000
}

Przykładowy kod wygląda na prosty, ale po prostu nie mogę pomyślnie uruchomić tego serwera, bez względu na to, co próbowałem, inny folder, po prostu nie mogę go pobrać

zawartość

!!! Czy coś mi brakuje?
Każda pomoc byłaby bardzo mile widziana.
Wyjście:
Project is running at [url=http://0.0.0.0:8080/]http://0.0.0.0:8080/[/url]
webpack output is served from/assets/
Content not from webpack is served from ~/WebstormProjects/react_back/assets/

Struktura mojego projektu:
├── [drwxr-xr-x ] src
│   └── [-rw-r--r-- ] index.js
├── [drwxr-xr-x ] public
│   ├── [-rw-r--r-- ] index.html
│   ├── [drwxr-xr-x ] assets
│   │   └── [-rw-r--r-- ] bundle.js
│   └── [-rw-r--r-- ] favicon.ico
├── [-rw-r--r-- ] package.json
├── [-rw-r--r-- ] npm-debug.log
├── [-rw-r--r-- ] webpack.config.js


package.json

"scripts": {
"build": "webpack",
"dev": "webpack-dev-server --devtool eval"
},


webpack.config.js

module.exports = {
entry: __dirname + "/src/index.js",
output: {
path: __dirname + "/public",
publicPath: "/assets/",
filename: "assets/bundle.js",
chunkFilename: '[name].js'
},
devServer: {
contentBase: __dirname + "/assets/",
inline: true,
host: '0.0.0.0',
port: 8080,
},
module: {
loaders: [
{
test:/\.(jpg|jpeg|gif|png|ico)$/,
exclude:/node_modules/,
loader: 'file-loader?name=[name].[ext]'
},
{
test:/\.js$/,
exclude:/node_modules/,
loader: 'babel-loader',
query: {
presets: ["es2016", "react", "env", "stage-2"]
}
}
]
}
};


Wersja

:
➜ node -v
v7.6.0
➜ webpack-dev-server -v
webpack-dev-server 2.4.1
webpack 2.2.1

Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Pierwszym problemem jest to, że udostępniasz zawartość z
asset/
, ale nie masz tego katalogu, masz
public/asset/
, a nawet nie chcesz ponieważ Twój
index.html
znajduje się w
public/
. Tak więc naprawdę chcesz ustawić
contentBase
na
public/
:
devServer: {
contentBase: __dirname + "/public/",
inline: true,
host: '0.0.0.0',
port: 8080,
},

Teraz nadal będziesz mieć problem z tym, że
webpack-dev-server
nie obsługuje odpowiedniego pakietu. To może zadziałać, ale dzieje się tak dlatego, że masz pakiet w swoim rzeczywistym systemie plików do użycia zamiast pakietu, który
webpack-dev-server
będzie obsługiwał z pamięci. Powodem tego jest to, że
webpack-dev-server
podaje za mało pamięci tylko wtedy, gdy zostanie wybrana poprawna ścieżka. Zakładając, że umieścisz
asset/bundle.js
w swoim
index.html
, będzie to pasowało do ścieżki, ale ustawiasz
publicPath: "/ asset/"
, więc wyszuka
/ asset/
i dołączy do niego nazwę pliku (czyli
asset/bundle.js
, w rzeczywistości pakiet jest obsługiwany z
/ asset/assets/bundle.js
.
Aby to naprawić, możesz usunąć opcję
publicPath
(ustawienie
publicPath: „/”
daje taki sam efekt).
output: {
path: __dirname + "/public",
filename: "assets/bundle.js",
chunkFilename: '[name].js'
},

Możesz też zmienić ścieżkę wyjściową na
/ public/asset/
, a nazwę pliku na
bundle.js
. Zmusi to również twoje porcje do przejścia do katalogu zasobów, co prawdopodobnie i tak jest tym, czego chcesz.
output: {
path: __dirname + "/public/assets/",
publicPath: "/assets/",
filename: "bundle.js",
chunkFilename: '[name].js'
},
Uwaga:
publicPath
wpływa na niektóre programy ładujące, które zmieniają adresy URL zasobów.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Może to być problem z „react-scripts”, nie działało to dla mnie z wersją 3.4.1, zrobiłem wersję do 3.4.0 i teraz działa.
Otwórz plik package.json i zmień „React-scripts”: „3.4.0”, jeśli jest to coś innego, LUB możesz wypróbować różne wersje zgodnie z własnymi wymaganiami. Ale te problemy wydają się być związane z wersją „Reaguj-skrypty”, więc musisz to sprawdzić.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Miałem ten sam problem i rozwiązałem go po zmianie react-scripts z wersji 3.4.1 na 3.4.0. Nie wiem dlaczego!

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się