1. ホーム
  2. node.js

[解決済み] npm run dev」「npm run prod」とは?

2022-03-02 01:57:25

質問

Laravel Mixモジュールでスクリプトをバンドルするために、以下のコマンドを使用しています。

npm run dev // Compile scripts.

npm run prod // Compile and minify scripts.

これらはネイティブのnpmコマンドですか、それともカスタムのLaravel Mixコマンドですか?どこで定義されていますか?

Laravelのpackage.jsonに"scripts"として記載されていることに気づきました。このスクリプトは、Laravel Mixを介したWebpackのカスタムコマンドですが、具体的にはどのようなものですか?

"scripts": {
    "dev": "npm run development",
    "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "watch": "npm run development -- --watch",
    "watch-poll": "npm run watch -- --watch-poll",
    "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --disable-host-check --config=node_modules/laravel-mix/setup/webpack.config.js",
    "prod": "npm run production",
    "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},

解決方法は?

で定義されたスクリプトであることは確かです。 package.json ファイルを発見しました。その値はシェルによって実行されます(だから、例えば。 bash , zsh UNIX系OSの場合など)。

一つ重要なことは node_modules/.bin ディレクトリに追加されます。 PATH を実行してください。つまり、ご質問の2つのスクリプトの場合です。 cross-envnode_modules/.bin (の他の場所で devDependency として指定されていることはほぼ間違いないからです)。 package.json を実行済みである限りは npm install または npm ci をプロジェクトディレクトリの中で実行します。