面试题答案
一键面试1. 代码打包
在 package.json
中添加打包脚本,例如对于基于 Webpack 的项目:
{
"scripts": {
"build": "webpack --config webpack.config.js"
}
}
运行 npm run build
即可进行代码打包,将前端代码压缩、合并等处理,生成可部署的静态资源。
2. 依赖安装
利用 npm install
命令安装项目所需的依赖包。在 package.json
中添加安装脚本:
{
"scripts": {
"install-deps": "npm install"
}
}
运行 npm run install-deps
安装项目依赖。
3. 环境变量设置
- 本地开发:在项目根目录创建
.env
文件,设置本地环境变量。例如:
API_URL=http://localhost:3000/api
可以使用 dotenv
库在 Node.js 项目中加载这些环境变量。
- 部署环境:在云平台(如 AWS 的 SSM Parameter Store、阿里云的配置管理)中设置环境变量。在部署脚本中通过相应的 SDK 或命令行工具获取这些变量。
4. 实际部署
以 AWS 为例,结合 AWS CodePipeline 和 CodeBuild 实现自动化部署:
- 创建 CodePipeline:定义从代码仓库到部署的流程,如从 GitHub 拉取代码,触发 CodeBuild。
- 配置 CodeBuild:在
buildspec.yml
文件中调用 NPM 脚本。例如:
version: 0.2
phases:
install:
commands:
- npm install
build:
commands:
- npm run build
post_build:
commands:
- aws s3 sync dist s3://your-bucket-name --delete
这里 dist
是打包后的输出目录,your-bucket-name
是 S3 存储桶名称。
5. 错误处理
在 NPM 脚本中利用 &&
和 ||
进行简单的错误处理。例如:
{
"scripts": {
"deploy": "npm run install-deps && npm run build && aws s3 sync dist s3://your-bucket-name --delete || echo 'Deployment failed'"
}
}
如果 npm run install-deps
、npm run build
或 aws s3 sync
任何一步失败,都会执行 echo 'Deployment failed'
输出错误信息。
6. 日志记录
- NPM 脚本日志:NPM 脚本运行时会自动输出命令执行的日志,可通过
--loglevel
选项调整日志级别。例如:
npm install --loglevel verbose
- 自定义日志:在 Node.js 项目中,可以使用
console.log
、console.error
等输出日志信息。对于部署脚本,可以将日志输出到文件。例如,在部署脚本中添加:
npm run build > build.log 2>&1
这将把 npm run build
的标准输出和标准错误输出都重定向到 build.log
文件,便于后续查看和分析部署过程中的问题。