Bal*_*jiK 68 node.js npm npm-install
npm install和之间有什么区别npm run build?
我在我的项目中注意到,有时npm在npm install执行时开始失败,但是,在运行时npm run build,它运行正常.
如何这两个目标的内部运作,即install与run build不同?
Chu*_*rro 45
npm installnode_modules/为您正在处理的节点项目安装依赖项到目录中.您可以调用install另一个node.js项目(模块),将其安装为项目的依赖项.
npm run build是别名npm build,除非您在package.json文件中指定"build",否则它不执行任何操作.它允许您在项目中使用之前为项目执行任何必要的构建/准备任务.
build根据构建文档调用link和install命令:
这是由npm link和npm install调用的管道命令.
MKP*_*MKP 40
主要区别是::
npm install是一个npm cli-command,用于执行预定义的事情,即由Churro编写,用于安装package.json中指定的依赖项
npm run 命令名或npm run-script 命令名(例如 npm run build)也是一个预定义的cli命令,用于运行自定义脚本,并使用指定的名称代替"command-name".因此,在这种情况下,npm run build是一个名为"build"的自定义脚本命令,它将执行其中指定的任何操作(例如,在下面的示例package.json中给出的echo'hello world').
需要注意的事项::
1)还有一两件事,npm build而且npm run build是两个不同的东西npm build会做书面的西班牙油条,但npm run build会做里面写的定制工作package.json
2)与npm build和npm run build不一样的.我的意思是,你不能在自定义build(npm run build)脚本中指定一些东西,并期望npm build做同样的事情.请尝试以下事项进行验证package.json:
{
"name": "demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build":"echo 'hello build'"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {},
"dependencies": {}
}
Run Code Online (Sandbox Code Playgroud)
并且一个接一个地跑npm run build,npm build你会看到差异.有关命令的更多信息,我建议您遵循npm文档.
干杯!!
CTS*_*_AE 36
npm build不复存在.你npm run build现在必须打电话.更多信息如下.
npm install:安装依赖项,然后install从package.json scripts字段中调用.
npm run build:从package.json scripts字段运行构建字段.
https://docs.npmjs.com/misc/scripts
您可以在npm package.json脚本字段中添加许多内容.查看脚本生命周期以上的文档链接 - 大多数都有预挂钩和挂钩,您可以在安装,发布,卸载,测试,启动,停止,收缩包装,版本之前/之后运行脚本.
npm install 是不一样的 npm run installnpm install安装package.json依赖项,然后运行package.json scripts.install
npm run install在安装依赖项后调用.npm run install只运行package.json scripts.install,它不会安装依赖项.npm build曾经是一个有效的命令(以前是相同的npm run build),但它不再是; 它现在是一个内部命令.如果您运行它,您将获得:npm WARN build npm build called with no arguments. Did you mean to npm run-script build?您可以阅读更多文档:https://docs.npmjs.com/cli/buildnpm install 在 package.json 配置中安装依赖项。npm run build 运行脚本“build”并创建一个运行您的应用程序的脚本 - 假设 server.jsnpm start 运行“start”脚本,然后将是“node server.js”很难确切地说出问题是什么,但基本上如果你查看你的脚本配置,我猜“构建”使用某种构建工具来创建你的应用程序,而“开始”假设构建已经完成但如果失败该文件不存在。
您可能正在使用 bower 或 grunt - 我似乎记得典型的 grunt 应用程序将定义这些脚本以及删除最后一个构建的“干净”脚本。
构建工具倾向于在启动脚本调用的 bin/、dist/ 或 build/ 文件夹中创建一个文件 - 例如“node build/server.js”。当您npm start失败时,可能是因为您调用npm clean或类似方法删除了最新版本,因此您的应用程序文件不存在导致 npm start 失败。
npm build 的源代码 - 涉及这个问题中的讨论 - 在 github 中,如果您愿意,可以查看。如果您npm build直接运行并且定义了“构建”脚本,它将退出并显示错误,要求您调用构建脚本,npm run-script build因为它与npm run script.
我不太确定是什么npm build,但它似乎与依赖项中的 postinstall 和打包脚本有关。我认为这可能是为了确保在下载包后为特定环境构建依赖项所需的任何 CLI 构建脚本或本机库。这就是链接和安装调用此脚本的原因。
| 归档时间: |
|
| 查看次数: |
127679 次 |
| 最近记录: |