pkg打包问题

pkg打包问题以及async,await

  • 无法将 “xxx” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次
  • pkg打包
  • async与await

无法将 “xxx” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次

最近在用node学部署项目是碰到了一个离谱的事

无法将 “xxx” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次

看来半天原来是我的node下载的全局模块单独设置了一个地方,并且没用设置环境变量

如果你在控制台可以查看node -v的命令,你的node环境变量没问题,你再试试那你npm list -g --depth 0

控制台输出的是你模块的位置,查看你模块的路径并打开环境变量的路径,看看是否有模块的环境变量,如果没用那就加上,你有可能碰到加上去后,模块还是无法全局使用,那只能把模块移动到nodejs下,并且重新设置模块默认安装位置:npm config set prefix “E:\node.js\node_modules”

pkg打包

接下来进行打包任务
先说说打包的有点

  1. 打包会将项目所需的node环境一起打包进项目里,可以再没用node环境下工作。
  2. 打包可以减少项目体积。
  3. 大多数人是不想让外人看到自己写的文件内容,打包会将其代码编译成字节码,之后变成二进制,反解出源代码的难度极大
packagg.json文件下配置
  "bin": "./server.js",程序入口文件
  "scripts": {
    "pkg": "pkg . -t node14-linux-x64 --out-path=dist/" //运行 npm run pkg在最外层打包成一个dist文件 
  },
  "pkg": {
    "scripts": [
      "./static/js/*.js",
      "./static/js/admin/*.js"
    ],
    "targets": "node14-linux-x64",
    "assets": "./static"
  }

第一次打包过程可能会很慢,我们可以自己下载
在这里插入图片描述
需要自己手动下载node-v14.20.0-linux-x64

async与await

await需要再async标记得函数下使用
pkg打包问题_第1张图片
需要注意的是没用变量接受await得值,这会导致await后面得内容还是异步,体现不出async,await
在异步回调时,熟练使用可以让代码变得更简洁,结构更清晰

你可能感兴趣的:(npm)