首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

12 个提高JavaScript编码效率 NPM 技巧

": "",   "main": "index.js",   "scripts": {     "test": "echo \"Error: no test specified\" && exit 1"...除了预定义前后钩子(通常称为生命周期脚本)外,它还支持自定义脚本,例如: preinstall :它会在安装任何依赖包之前运行 我们还可以在项目中运行 npm run env ,列出项目中存在所有npm...让我们在 package.json 中添加一些自定义脚本: "scripts": {     "test": "echo \"Error: no test specified\" && exit 1",...删除重复包 我们可以通过运行 npm dedupe 命令删除重复依赖。它通过删除重复程序包并在多个从属程序包之间有效地共享公共依赖,简化了总体结构。...这样就形成了一个平面且具有重复数据删除功能树。 npm dedupe or npm ddp 8.扫描应用程序中漏洞 我们可以运行 npm audit 命令来扫描我们目中任何依赖任何漏洞。

1.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

SHELL脚本学习和制作

"$1"]; then echo "不可缺少打包版本号" exit 1 fi # 上面的命令是确认传来了作为版本号第一个参数 echo "编译中....." npm run build...使代码提交时能自动触发jenkins构建脚本 先在jenkins中建立一个任务 点击左上角新建 建立一个新project(本次是直接复制别人已建立好配置),取名为test(推送到测试环境) 在打开配置页面中有如下几点需要注意...脚本目标是基于jenkins所在机器,运行脚本,将打好包传输到部署机器上,解压到所需文件夹下,并把原压缩包删除。...$curTag" == "v$1" ]; then echo "版本号已存在" exit 1 fi # echo "DIST编译中....." npm run dist # echo "...,请pull后再执行"; exit 1; } git push origin v"$1" || { echo "tag push failed"; exit 1; } 这些shell脚本难度都不是很大

1.2K90

npm 生态系统存在巨大安全隐患

(欺骗安全/审核工具) 潜在降级攻击(其中保存到项目中版本规范是针对未指定、易受攻击包版本) 受影响已知第三方组织/实体 Snyk: https://security.snyk.io/package...npm@6 执行 manifest 中不存在安装脚本,反之亦然 安装一个格式错误依赖:npx npm@6 install darcyclarke-manifest-pkg@2.1.13 请注意,即使...重现步骤: 安装格式错误依赖以使其缓存 使用 --offline 配置运行安装和/或关闭网络可用性(例如,npm install --offline --no-package-lock) 查看将安装未在...manifest 中引用依赖 yarn@1 执行 manifest 中不存在安装脚本,反之亦然 与 npm@6& npm@9 一样,yarn@1运行 tarball 内但未在 manifest.../降级并保存回使用项目的 package.json 错误版本(可能使消费者在后续安装中遭受降级攻击) pnpm@7 执行清单中不存在安装脚本,反之亦然 与所有其他脚本一样,pnpm 将运行 tarball

20820

【 Node.js 进阶】你应该知道 NPM 知识都在这!

比如,test 命令对应脚本是 node test.js。 命令行下使用 npm run 命令,就可以执行这段脚本。...),使用 && 符号 $ npm run script1.js && npm run script2.js 任意脚本 我们配置脚本命令,如 "start": "node test.js",node test.js...配置操作可以帮助我们预先设定好npm对项目的行为动作,也可以让我们预先定义好一些配置以供项目中使用。...以外,还需要包含以下目录: bin:存放可执行二进制文件目录 lib:存放js代码目录 doc:存放文档目录 test:存放单元测试用例代码目录 如何写好一个模块 README 文件 这里不单独写...minor # 升级大版本号 $ npm version major 本地开发 npm 包如何调试 在本地开发模块包时候,可以使用 npm link 调试,将模块链接到对应运行目中去,方便地对模块进行调试和测试

1.4K10

写个git提交脚本,再也不用命令行了

平时项目中我们绝大部分都是用bash命令行,或者用GUI可视化工具,无论是小乌龟还是gui工具,如果是工具比较推荐sourceTree,但是我更推荐git-fork[1],工具因人而已,无论习惯命令行还是工具...在git bash也是可以执行.shxshell脚本 bash中xshell命令 我们在bash新建一个index.sh文件测试一下 touch index.sh 在index.sh中输入一段打印脚本...": "echo \"Error: no test specified\" && exit 1", "push": "bash deplop.sh" }, ... }...然后我们运行命令npm run push 至此你就可以愉快用一行命令了,但是正常情况下你每次得修改commit信息,而不是写死在deplop.sh脚本里面 于是你可以这样 # 如果项目已经初始化后.../usr/bin/env sh # 确保脚本抛出遇到错误 set -e # 生成静态文件 npm run build # 进入生成文件夹目录 cd docs/.vuepress/dist git init

73030

手写 git hooks 脚本(pre-commit、commit-msg)

exit 1 pre-commit 在 pre-commit 钩子中要做事情特别简单,只对要提交代码格式进行检查,因此脚本代码比较少: #!...exit $exitCode 由于我在项目中已经配置好了相关 eslint 配置以及 npm 脚本,因此在 pre-commit 中执行相关 lint 命令就可以了,并且判断一下是否正常退出。...$email =~ $email_re ]] then echo "此用户没有权限,具有权限用户为: xxx@abc.com" # 异常退出 exit 1 fi 下面用两个动图来分别演示一下校验...对于这个问题有两种解决方案:第一种是模仿 husky 做一个 npm 插件,在安装时候自动在 .git/hooks 目录添加 hooks 脚本;第二种是将 hooks 脚本单独写在项目中某个目录,然后在该项目安装依赖时.../@qq\.com$/.test(email)) { console.error('此用户没有权限,具有权限用户为: xxx@qq.com'); process.exit(1); } 总结 其实本文适用范围不仅仅局限于前端

1.5K30

npm并行&串行执行多个scripts命令

通过npm run 可以运行 package.json 中脚本Npm 命令不能提供立即运行多个脚本方式,同时运行需要打开多个终端窗口 npm scripts node_modules.../.bin 目录下命令,可以直接在 scripts 中调用 利用一些脚本生命周期时间 "scripts": { "preinstall": "..../build/3.js\"" } 并行执行多条命令,输出结果:3 2 1 只能并行,不能顺序执行! npm-run-all 跨平台,一种可以并行或顺序运行多个 npm 脚本 CLI 工具。...还具备支持参数传递;错误退出控制;提供 Node Api ;以及一些优化npm-run-all --parallel dev:**等。...借助 scripts 生命周期事件关系 通过 npm-run-all 可以启发我们,可以通过 scripts 一些属性关系来达到顺序执行。

6.1K42

微服务项目部署实践:使用Gitlab Runner实现微服务项目的持续集成,持续交付和持续部署

概念 服务治理遇到问题 在微服务项目中每个服务都是独立运行项目 不可能对每个项目进行手动部署,涉及到自动化运维问题 持续集成 持续集成(Continues Integration,简称CI) 持续集成指的是...: 管道 ,一次Pipeline相当于一次构建任务,可以包含多个流程:安装依赖,运行测试,编译,部署测试服务器,部署生产服务器等流程 任何提交或者Merge Request合并都可以触发Pipeline...,在构建任务运行期间不会影响GitL性能 基于Docker安装GitLab Runner: 1.创建工作目录: /usr/local/docker/runner 2.创建构建目录: /usr/local...install # 运行测试用例 test: stage: test only: - develop - master script: - npm run test # 编译 build...npm run build:server # 部署测试服务器 deploy_test: stage: deploy_test only: - develop script: - pm2

1.3K21
领券