2016-08-05 23 views
23

Jestem nowy w Node Js i Webpack. Próbowałem uruchomić projekt za pomocą modułów ładujących.Polecenie webpack nie działa

Najpierw zainstalowałem nodeJs i npm i utworzyłem nowy katalog tutorial. I cd do tego katalogu i zrobił npm init a następnie zainstalować WebPack przez KMP za pomocą poniższego polecenia:

npm install -S webpack

zainstalowany WebPack lokalnie w projekcie na podstawie katalogu „węzeł Moduły” The 1st poleceń i mogę uruchomić mój projekt w ten sposób:

nodejs node-modules/webpack/bin/webpack.js

problem polega na tym, że muszę umieścić mój plik webpack.config.js wewnątrz tego katalogu, który chcę umieścić w moim katalogu głównym projektu.

Jednym z rozwiązań tego problemu było zainstalować WebPack globalnie na moim komputerze, które zrobiłem przy użyciu komendy poniżej:

npm install -g webpack

Ten zainstalowany WebPACK i teraz mam polecenie WebPACK, jednak ta komenda robi wydaje się, że nic nie działa i nie robi nic. Kiedy próbuję uruchomić to forma projektu mu korzenia directroy nie robi nic w ogóle (patrz ilustracja) zrobić

enter image description here

Proszę mi powiedzieć co robię źle !!

Odpowiedz

50

webpack jest nie tylko w katalogu node-modules/webpack/bin/, ale jest także połączony z node_modules/.bin.

Masz polecenie npm bin, aby uzyskać folder, w którym npm zainstaluje pliki wykonywalne.

Możesz użyć właściwości scripts swojej package.json, aby użyć pakietu internetowego z tego katalogu, który zostanie wyeksportowany.

"scripts": { 
    "scriptName": "webpack --config etc..." 
} 

Na przykład:

"scripts": { 
    "build": "webpack --config webpack.config.js" 
} 

Można następnie uruchomić go z:

npm run build 

lub nawet z argumentami:

npm run build -- <args> 

To pozwala mieć Cię webpack.config.js w folderze głównym r twojego projektu bez zainstalowanego pakietu globalnego na świecie lub konfiguracji twojego pakietu sieciowego w folderze node_modules.

+0

dziękuję, zapisane dzień !!! – Mohan

+3

A jak używać skryptu "webpack" bezpośrednio z terminala, bez zapisywania go w skryptach 'package.js'? – jpenna

7
npm i webpack -g 

instaluje pakiet globalny w systemie, który udostępnia go w oknie terminalu.

+7

Zainstalowanie WebPack na całym świecie nie jest zalecane, ponieważ zgodnie z ich dokumentacją –

+3

zabawne, że ta sama odpowiedź jest dobrze oznaczona - https://stackoverflow.com/questions/35932000/zsh-command-not-found-webpack –

-11

Po prostu odinstaluj węzeł i zainstaluj go ponownie. Potem wszystko działa dobrze.

-1

Faktycznie, mam ten błąd jakiś czas temu.Są dwa sposoby, aby to zadziałało, zgodnie z moją wiedzą.

  1. Serwer nie aktualizuje zmian wprowadzonych w pliku index.js z powodu błędów w pakiecie sieci Web. Więc zrestartuj swój serwer.
  2. Aktualizowanie pliku node.js będzie pomocne w uniknięciu takich problemów.
+1

Proszę dodać kroki dla aktualizacja tutaj. Tylko link nie będzie zbyt pomocny. Raz, jeśli link zostanie zmieniony, twoja odpowiedź okazuje się bezużyteczna. – Billa

1

Najszybszy sposób, żeby uzyskać tej pracy jest użycie pakietu internetowego z innego miejsca, to przestanie konieczności instalowania go globalnie czy npm run webpack zawiedzie.

Po zainstalowaniu pakietu sieciowego z npm przechodzi do folderu "node_modules\.bin" w projekcie.

w wierszu poleceń (jako administrator)

  1. przejść do lokalizacji projektu, gdzie znajduje się twoje webpack.config.js.
  2. w wierszu poleceń wpisać następujące
"C:\Users\..\ProjectName\node_modules\.bin\webpack" --config webpack.config.vendor.js