ubuntu 服务器编译uniapp h5项目
在windows的系统上打开HBuilderX 4.99的安装目录 然后进入plugins/uniapp-cli(我的路径是D:\Program Files\HBuilderX\plugins\uniapp-cli)目录,
将该文件下的文件拷贝到Linux主机上的 /docker/uniapp-cli 目录
, 然后执行:
npm uninstall node-sass && npm install -D sass sass-loader
项目的package.json 添加
"scripts": {
"build:h5": "INIT_CWD=`pwd` && cd /docker/uniapp-cli && cross-env UNI_INPUT_DIR=$INIT_CWD/ UNI_OUTPUT_DIR=$INIT_CWD/unpackage/dist/build/h5 UNI_PLATFORM=h5 NODE_ENV=uni-build node /docker/uniapp-cli/bin/uniapp-cli.js"
}
解释:
- INIT_CWD=\pwd``
作用:获取当前工作目录的绝对路径,并将其赋值给环境变量 INIT_CWD。这在脚本中后续的路径引用中会用到。 - cd /docker/uniapp-cli
作用:切换到 /docker/uniapp-cli 目录,假设该目录下包含了 uniapp-cli 的构建工具。 - cross-env UNI_INPUT_DIR=$INIT_CWD/ UNI_OUTPUT_DIR=$INIT_CWD/unpackage/dist/build/h5 UNI_PLATFORM=h5 NODE_ENV=uni-build
作用:使用 cross-env 设置多个环境变量,以确保在不同操作系统上都能正确设置环境变量。
UNI_INPUT_DIR=$INIT_CWD/:指定输入目录为当前工作目录。
UNI_OUTPUT_DIR=$INIT_CWD/unpackage/dist/build/h5:指定输出目录为当前工作目录下的 unpackage/dist/build/h5。
UNI_PLATFORM=h5:指定构建平台为 H5(即 Web 端)。
NODE_ENV=uni-build:设置 Node.js 的环境变量为 uni-build,通常用于标识构建环境。
- node /docker/uniapp-cli/bin/uniapp-cli.js
作用:使用 Node.js 执行 /docker/uniapp-cli/bin/uniapp-cli.js 脚本,该脚本是 uniapp-cli 的构建工具,负责根据前面设置的环境变量执行构建操作。
然后直接在项目目录执行
npm run build:h5
即可