首页 > 解决方案 > package.json 中的条件脚本

问题描述

我有两个问题:

  1. 我该怎么npm run script --productionnpm run script --env=production

  2. 我想如何将参数作为参数传递给另一个脚本,例如,如果您想在刚刚运行的开发中创建数据库,npm run dev --development --create-database或者如果您想删除开发数据库npm run dev --development --drop-database,​​这是因为我想添加一个脚本来处理创建或删除数据库,但是如果你在生产数据库中这样做,它会给你一个警告..

这是我到目前为止所拥有的

"dev": "NODE_ENV=development nodemon src/serve.js",
"start": "NODE_ENV=production src/serve.js",
"test": "NODE_ENV=test jest --testTimeout=10000 --runInBand --detectOpenHandles",
"db:create": "NODE_ENV=$npm_config_env npm run db:condition",
"db:drop": "NODE_ENV=$npm_config_env npx sequelize-cli db:drop",
"db:condition": "if [[ ${NODE_ENV} == \"production\" ]]; then npm run warning; else npm run db:reset; fi",
"db:reset": "npx sequelize-cli db:drop && npx sequelize-cli db:create && npx sequelize-cli db:migrate && npx sequelize-cli db:seed:all",
"warning": "echo \"You can't do this on production\""

如果你能看到我只为“db:create”添加条件。

标签: node.jspackage.jsonnpm-scripts

解决方案


推荐阅读