背景
想要在一个无网络的环境下通过源代码构建dist,而不是拷贝dist到目标机器上,这样很难改动部分源代码重新部署应用。
offline build
其实首先能明白一个理念就好解决了。(https://stackoverflow.com/questions/43064107/how-to-install-npm-package-while-offline)
npm install
只是检查依赖项,如果没有找到本地文件中的相关依赖,则会下载他们。
但是 node_modules
又和平台相关,所以我们只需要建立和目标平台一致的联网环境即可,拷贝 node_modules
到无网环境中的源代码里就可以了。
接着执行 npm run build
, 即可正常构建,整体感觉还是非常容易的。
cp -r ./node_modules/ ~/projects/source_code
npm version; npm run build:prod
离线安装 Node
虽然可以解决依赖问题,但是Node也要全离线化安装.
以 Node v14 为例:
下载二进制包
curl -o node-v14.20.0-linux-x64.tar.gz https://nodejs.org/dist/v14.20.0/node-v14.20.0-linux-x64.tar.gz
这个下好之后传输到目标机器上
解压
tar zxf node-v14.20.0-linux-x64.tar.gz
mv node-v14.20.0-linux-x64 /opt
设置环境变量
# Nodejs
# your_version
VERSION=v14.20.0
DISTRO=linux-x64
export PATH=/opt/node-$VERSION-$DISTRO/bin:$PATH