Node.js 什么是「;新产品管理运行开发“;及;npm运行产品”;

Node.js 什么是「;新产品管理运行开发“;及;npm运行产品”;,node.js,laravel,npm,node-modules,laravel-mix,Node.js,Laravel,Npm,Node Modules,Laravel Mix,我使用以下命令通过Laravel Mix模块绑定脚本: npm run dev // Compile scripts. npm run prod // Compile and minify scripts. 这些是本机npm命令还是自定义Laravel Mix命令?它们的定义是什么 我注意到它们在Laravel package.json中被列为“脚本”。这些脚本是什么?通过Laravel Mix为Webpack定制的命令 "scripts": { "de

我使用以下命令通过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\u modules/.bin
目录被添加到
PATH
。因此,在您询问的两个脚本中,
cross-env
将在
node\u modules/.bin
中找到(因为它几乎肯定在
package.json
的其他地方指定为devDependency)而且,只要您已经在项目目录中运行了
npm install
npm ci
,就不必全局安装
cross env

这些命令可用于在npm上支持JSON文件的任何项目。关于OP问题:

这些是本机npm命令还是自定义Laravel Mix命令?哪里 它们有定义吗

  • npm
    :可以说它是系统固有的命令,用于程序。例如,在Windows中,它应该是从任何控制台调用npm的默认命令
  • run
    :它是npm固有的命令。更多信息。请记住,这是原始命令的别名
    runscript
  • dev
    prod
    :它们是用户定义的。
    • dev
      :用于运行特定命令,为项目、任何服务器、实时开发提供服务。对于网页,您将在浏览器中看到您的网页,例如,您对HTML代码所做的任何更改都将立即反映在您在浏览器中看到的网页中
    • prod
      :编译生产所需的所有文件。最终产品。例如,在web页面的情况下,您将向客户端处理的HTML、CSS和JS文件。运行此命令的结果是,预期将是一个包含所有上述内容的单个文件夹
我注意到它们在Laravel package.json中被列为“脚本”。 这些脚本究竟是什么,用于Webpack via的自定义命令 拉维混合

"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"
},
  • “dev”:“npm运行开发”
    :运行下面的命令,即:
    “开发”:“跨环境节点_env=development节点_modules/webpack/bin/webpack.js--progress--hide modules--config=NODE_modules/laravel mix/setup/webpack.config.js”
    。这行代码的作用取决于您对项目的依赖关系(请参阅
    节点模块
    文件夹,并阅读它们各自的文档)
  • “生产”:“npm运行生产”
    :其描述与上述项目相同,但对于
    npm运行生产

您似乎已经找到了它们是什么以及它们的定义,那么您的问题到底是什么?它们是NPM。它们运行什么,跨环境还是webpack.js?谢谢你的帮助。是的,cross env列在DevDependences中。谢谢你的帮助,它帮助我了解了这两个自定义脚本是如何工作的,这就是我一直在寻找的!您也可能会发现此参考资料有一些用途: