npm scripts;monorepo与npm scripts;process.env.xxx。

疑问

  • 项目中用的process.env.xxx真的生效么?一直以为是内置的,看起来实际上是要配置+外部传入。

    摘要&心得

  • npm run会自动创建一个 Shell

    • 根据操作系统平台存在差异
  • node_modules/.bin子目录中的所有脚本都可以直接以脚本名的形式调用,而不必写出完整路径
    • npm run创建出来的 Shell 需要将当前目录的node_modules/.bin子目录加入PATH 变量中,在 npm scripts 执行完成后,再将 PATH 变量恢复。
  • npm scripts使用技巧
    • 传递参数webpack —profile —json > stats.json
    • 串行执行&&
    • 环境变量:process.env.xxx
      • 在node.js上跑脚本时环境变量会注入到代码中。
      • 注意:webpack中配置 mode会改变process.env.NODE_ENV的值:image.png
  • 编写的 npm scripts 应该考虑不同操作系统上兼容性的问题
  • 可以和git-hooks结合
    • 在必要的 git 操作节点执行我们的 npm scripts
    • 比如pre-commit,在commit时执行代码格式检查,避免提交错误代码
  • 与monorepo
    • 生成一个npm scripts 插件集合,以在多个项目中达到复用的目的