gpt4 book ai didi

javascript - 关于 package.json 中的 "scripts"键

转载 作者:行者123 更新时间:2023-11-30 11:54:16 28 4
gpt4 key购买 nike

谁能解释一下 package.json 文件中“scripts”键的用途。

在学习 Angular 2 时,我在 package.json 文件中遇到了以下脚本,不确定这个 key 有什么用。

"scripts": {
"postinstall": "npm run typings install",
"tsc": "tsc",
"tsc:w": "tsc -w",
"start": "concurrent \"node ./bin/www\" \"npm run tsc:w\"",
"typings" : "typings"
}

最佳答案

scripts 键提供了一个方便的位置来定义项目特定的自动化脚本,就在您已​​经强制的 package.json 中。这有助于开发人员只需键入一些简单的内容,例如 npm run covernpm run deploy 并启动一系列可能很复杂的步骤(具有非常具体的文件位置或程序参数)离开。这避免了键入长命令行,并避免了错误。例如,我的一个项目包括这些命令:

"scripts": {
"cover": "cd source/js/jutil && istanbul cover _mocha -- -R spec && open coverage/lcov-report/jutil/index.html",
"test": "cd source/js/jutil && mocha",
"deploy": "(git diff --quiet --exit-code --cached || git commit -a -m 'deploy') && git push heroku master && heroku open",
"start": "gulp start"
}

只需几句话,我就可以快速运行测试、覆盖率测试或部署到云主机,而无需记住详细的命令行选项或文件位置。

但是要小心。在 JavaScript/node.js 社区中,关于定义这种自动化的“最佳”或“正确”位置存在很多争议。

许多开发人员更喜欢将自动化转移到单独的“任务运行器”/“构建系统”,例如 gulp , grunt ,甚至是好的 ole Unix make。对于这些项目,scripts 标记将为空或几乎为空。 (npm init 默认情况下至少生成一个 key ,用于 test。)相反,您需要查看他们的 gulpfile.jsGruntfile,或 Makefile

其他开发人员拒绝成为构建系统机制和/或分离构建配置的想法。他们通常更喜欢将“一些简单的脚本”直接放在 package.json 中,然后收工。

根据我的经验,“几个简单的命令”是一个很好的目标,但脚本的复杂性很快就会超过它。在具有许多不同 Assets 和 Assets 类型的大型项目中尤其如此,这些项目需要实时重建或实时重新加载,或者具有多个部署选项。我通常以 gulp 完成繁重的工作而告终,但也许一些真正可以简明陈述的脚本仍然驻留在 package.json 中。 “你的旅费可能会改变。”

关于javascript - 关于 package.json 中的 "scripts"键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38519631/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com