前端环境配置

136 阅读2分钟

入这行6年,这是呆的第二个公司,因为不怎么变动,所以没太关注开发环境配置这个东西。直到,后来换了新的工作电脑,又电脑故障再次换了电脑,觉得还是记录一下比较好。

1. git

  • 配置
    git config --global user.name "xxx"
    git config --global user.email "xxx@xx.com"
  • 生成ssh公钥
   ssh-keygen -t ed25519 -C "注释文本(对应Code平台上SSH Key的标签)"
  • 查看公钥
    cat /Users/xxx/.ssh/id_ed25519.pub

2. 安装vscode

官网地址code.visualstudio.com/

3. 安装homebrew

Homebrew是什么?

Homebrew是一个免费和开源的软件包管理系统,专门为macOS(以及Linux)设计。它简化了在macOS上安装、更新和卸载软件的过程。

Homebrew的主要优点是它能自动处理软件依赖关系,并且编译和安装软件非常简单。

例如,如果你想安装Python,只需要在终端中输入brew install python,Homebrew就会为你处理剩下的所有事情。

我们接下来将用Homebrew安装部分前端基础开发环境。

安装

/bin/bash -c "$(curl -fsSL  https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

以上是官方下载源,由于公司连接到github等部分国外开发常用网站有专有加速线路,可以考虑直接使用官方安装脚本

不过也给同学们提供国内镜像加速安装整合脚本

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

完成操作后,运行如下命令,可以看到brew的版本,Homebrew就安装完毕了。

brew -v

4. 安装Nginx

brew info nginx

运行上述代码可以看到Nginx在当前电脑上并没有被安装

安装

  • 运行Homebrew安装命令,安装Nginx
brew install nginx
  • 用管理员身份运行Nginx
sudo nginx

在浏览器中访问 http://localhost:8080/ 即可看到Nginx的欢迎页了。

修改Nginx配置

  • 查看Nginx配置文件路径
sudo nginx -t
  • 打开你自己的Nginx配置目录
code /opt/homebrew/etc/nginx
  • 在VsCode中打开 nginx.conf 文件。

    相比默认配置: 配置开头的user与error_log配置发生了变动;移除了http中默认自带的server块和后续注释

# 修改 Nginx 进程用户,否则 Nginx 访问项目文件时会出现权限问题,导致页面403错误
user root admin;
worker_processes  1;

# 这里的目录应当是当前配置文件所在目录
# 推荐在VsCode中直接复制绝对路径+error.log
error_log  /opt/homebrew/etc/nginx/error.log;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    include servers/*;
}
  • 创建xxx.conf文件

配置项目仓库中所需要nginx内容,将文件放在servers文件夹下。

    server {
      listen 80;
      server_name xxx.xxx.xxx.com;
      # 请根据项目本地路径修改替换它
      root  /xxx;
      index index.shtml index.html;
      
      ssi on;
      autoindex on;

      rewrite ^/unauthorized$ /page/admin/unauthorized.json last;
      rewrite ^/login$ /page/admin/unlogined.json last;

      location /api/ {
      # if ($env) {
          proxy_pass http://xxx.com;
      # }
      #  proxy_pass https://xxx.com;
      }

      location /dist/xxx/ {
        proxy_pass http://127.0.0.1:8081;
        proxy_buffering  off;
      }

      location / {
        location /page/admin/unauthorized.json {
          add_header "sessionStatus" "unauthorized";
        }

        location /page/admin/unlogined.json {
          add_header "sessionStatus" "timeout";
        }

        #处理跳转
        rewrite ^/xxx/([0-9A-Za-z]+)$ /page/xxx/$1/index.shtml last;
        rewrite ^/xxx/([0-9A-Za-z]+)/([0-9A-Za-z]+)$ /page/xxx/$1/$2.shtml last;
        rewrite ^/xxx/([0-9A-Za-z]+)/([0-9A-Za-z]+)/([0-9A-Za-z]+)$ /page/xxx/$1/$2/$3.shtml last;
        rewrite ^/([0-9A-Za-z]+)/([0-9A-Za-z]+)$ /page/$1/$2.shtml last;
        rewrite ^/([0-9A-Za-z]+)/([0-9A-Za-z]+)/([0-9A-Za-z]+)$ /page/$1/$2-$3.shtml last;
        rewrite ^/([0-9A-Za-z]+)/([0-9A-Za-z]+)/([0-9A-Za-z]+)/([0-9A-Za-z]+)$ /page/$1/$2-$3-$4.shtml last;
      }
    }

修改hosts文件

可使用switch hosts工具blog.csdn.net/q1ngqingsky…

在其中添加nginx中配置的本地项目域名解析为本机IP地址127.0.0.1

    127.0.0.1 xxx.xxx.xxx.com;

5. 安装Nvm,管理Node版本

安装Nvm

运行命令,使用官方安装脚本安装NVM

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

安装非常简单,一键式的。不过安装完成后,需要重新启动一个终端才可以使用nvm命令。

安装Node

运行命令

nvm install v12.22.11

自动切换Node版本配置(可选)

有时候,不同的项目用的Node版本会不同,每次打开项目的时候,都去切换Node版本会挺难受的,所以自动切换脚本便诞生了。

参考Nvm官方仓库Readme文件 github.com/nvm-sh/nvm?…

~/.zshrc 文件中添加如下脚本即可,nvm的PATH在 ~/.zprofile

# Node版本自动切换
autoload -U add-zsh-hook
load-nvmrc() {
  local nvmrc_path
  nvmrc_path="$(nvm_find_nvmrc)"

  if [ -n "$nvmrc_path" ]; then
    local nvmrc_node_version
    nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")

    if [ "$nvmrc_node_version" = "N/A" ]; then
      nvm install
    elif [ "$nvmrc_node_version" != "$(nvm version)" ]; then
      nvm use
    fi
  elif [ -n "$(PWD=$OLDPWD nvm_find_nvmrc)" ] && [ "$(nvm version)" != "$(nvm version default)" ]; then
    echo "Reverting to nvm default version"
    nvm use default
  fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc

自动切换Node版本的功能仅能够在项目根目录配置得有 .nvmrc 文件才能够生效