什么是 "npm run dev" 和 "npm run prod"
What Are "npm run dev" and "npm run prod"
我使用以下命令通过 Laravel 混合模块捆绑我的脚本:
npm run dev // Compile scripts.
npm run prod // Compile and minify scripts.
这些是原生 npm 命令还是自定义 Laravel Mix 命令?它们在哪里定义?
我注意到它们在 Laravel package.json 中被列为“脚本”。这些脚本到底是什么,通过 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
文件中定义的脚本。您的 shell 值是 运行(因此,例如 UNIX-like 操作系统上的 bash
、zsh
等)。
需要注意的一个关键事项是 node_modules/.bin
目录在执行之前添加到 PATH
。因此,对于您询问的两个脚本,cross-env
可以在 node_modules/.bin
中找到(因为几乎可以肯定它在 package.json
的其他地方被指定为 devDependency)只要您已经 运行 npm install
或 npm ci
在项目目录中。
这些命令在任何支持 NPM 上 JSON 文件的项目中使用。关于OP问题:
Are these native npm commands or custom Laravel Mix commands? Where
are they defined?
npm
:对于calling Node Package Manager程序来说,可以说是系统自带的命令。例如,在 Windows 中,它应该是从任何控制台调用 npm 的默认命令。
run
:这是 npm 原生的命令。更多信息 here。请记住,这是原始命令 run-script
. 的别名
dev
和 prod
:它们是用户定义的。
dev
:用于运行为项目服务的特定命令,到任何服务器,实时开发。如果是网页,您将在浏览器中看到您的网页,并且您对 HTML 代码所做的任何更改都会立即反映在您在浏览器中看到的页面中。
prod
:编译生产所需的所有文件。最终产品。例如,对于网页,您将处理给客户端的 HTML、CSS 和 JS 文件。 运行 此命令的结果,预计是包含上述所有内容的一个文件夹。
I noticed they are listed as "scripts" in the Laravel package.json.
What exactly are these scripts, custom commands for Webpack via
Laravel Mix?
"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"
。这行代码的作用取决于您对项目的依赖性(请参阅 node_modules
文件夹,并阅读它们各自的文档)。
"prod": "npm run production"
: 和上面的描述一样,但是npm run prod
我使用以下命令通过 Laravel 混合模块捆绑我的脚本:
npm run dev // Compile scripts.
npm run prod // Compile and minify scripts.
这些是原生 npm 命令还是自定义 Laravel Mix 命令?它们在哪里定义?
我注意到它们在 Laravel package.json 中被列为“脚本”。这些脚本到底是什么,通过 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
文件中定义的脚本。您的 shell 值是 运行(因此,例如 UNIX-like 操作系统上的 bash
、zsh
等)。
需要注意的一个关键事项是 node_modules/.bin
目录在执行之前添加到 PATH
。因此,对于您询问的两个脚本,cross-env
可以在 node_modules/.bin
中找到(因为几乎可以肯定它在 package.json
的其他地方被指定为 devDependency)只要您已经 运行 npm install
或 npm ci
在项目目录中。
这些命令在任何支持 NPM 上 JSON 文件的项目中使用。关于OP问题:
Are these native npm commands or custom Laravel Mix commands? Where are they defined?
npm
:对于calling Node Package Manager程序来说,可以说是系统自带的命令。例如,在 Windows 中,它应该是从任何控制台调用 npm 的默认命令。run
:这是 npm 原生的命令。更多信息 here。请记住,这是原始命令run-script
. 的别名
dev
和prod
:它们是用户定义的。dev
:用于运行为项目服务的特定命令,到任何服务器,实时开发。如果是网页,您将在浏览器中看到您的网页,并且您对 HTML 代码所做的任何更改都会立即反映在您在浏览器中看到的页面中。prod
:编译生产所需的所有文件。最终产品。例如,对于网页,您将处理给客户端的 HTML、CSS 和 JS 文件。 运行 此命令的结果,预计是包含上述所有内容的一个文件夹。
I noticed they are listed as "scripts" in the Laravel package.json. What exactly are these scripts, custom commands for Webpack via Laravel Mix?
"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"
。这行代码的作用取决于您对项目的依赖性(请参阅node_modules
文件夹,并阅读它们各自的文档)。"prod": "npm run production"
: 和上面的描述一样,但是npm run prod