node.js - 什么是“npm run dev”和“npm run prod”
问题描述
我使用以下命令通过 Laravel Mix 模块捆绑我的脚本:
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 运行(例如,bash
类zsh
UNIX 操作系统上的 、 等)。
需要注意的一件事是在执行之前将node_modules/.bin
目录添加到该目录中PATH
。因此,在您询问的两个脚本的情况下,只要您已经运行或在项目目录中,cross-env
就可以在node_modules/.bin
(因为它几乎肯定在 的其他地方指定为 devDependency )中找到。package.json
npm install
npm ci
推荐阅读
- javascript - 断开连接后 Socket.connect 不起作用
- c - while 循环不会执行
- mysql - 使用 req.params node.js 进行多次搜索
- c++ - 固定数量的参数包元素来初始化模板类
- c - 如何从通过 SPI 与 FPGA 连接的加速度计访问数据
- google-cloud-platform - Cache-Control 元数据标头是否应该在具有存储桶级 IAM 策略的 Google Cloud Storage 存储桶中得到尊重?
- python - 如何拆分列表
- python-3.x - Pygame 窗口在打开时冻结
- php - 发送带有 guzzle 的发布请求时找不到客户端错误 404
- javascript - 无法使用 Wordpress Media Rest API 从 React 上传图像