• bower私服部署


    bower私服部署

    简介

    1、私服服务器:private-bower

    2、包管理模式:git

    工具清单

    • nodejs
    • git
    • private-bower

    安装

    安装nodejs

    已安装nodejs可忽略本节内容

    1、下载nodejs 程序包

    打开nodejs官网下载页面https://nodejs.org/en/download/。右键复制Linux Binaries (x64)的下载链接。执行以下代码下载,并解压

        cd ~
        #注意:当前下载版本为v10.15.3
        #下载
        wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz
        #解压
        xz -d node-v10.15.3-linux-x64.tar.xz
        #注意:xz 命令执行后node-v10.15.3-linux-x64.tar.xz被输出为node-v10.15.3-linux-x64.tar
        tar -xvf node-v10.15.3-linux-x64.tar
        #移动node程序文件夹到/opt/nodejs/v10
        mv ./node-v10.15.3-linux-x64 /opt/nodejs/v10
    

    2、添加nodejs path到$PATH

        #通过修改profile文件:
        vim /etc/profile
        #找到设置PATH的行
        /export PATH 
        #在export PATH之前,添加环境变量
        PATH=/opt/node/v10/bin:$PATH
        #保存
        #生效方法:系统重启
        #有效期限:永久有效
        #用户局限:对所有用户
    
        #执行以下命令使之立即生效
        source /etc/profile
        #或 执行点命令 
        /etc/profile
    
        #执行以下命令测试nodejs是否已经正确安装
        node --version
    

    安装git

        yum install -y git git-daemon
    

    安装private-bower

        npm install -g private-bower
    

    配置private-bower

        cd /opt
        mkdir ./private-bower
        vi mybowerconfig.json
    

    mybowerconfig.json 配置范例如下:

    {
        "port": 5678,
        "registryFile": "/opt/private-bower/bowerRepository.json",
        "timeout": 144000,
        "public": {
            "disabled": false,
            "registry": "http://https://registry.bower.io",
            "registryFile": "/opt/private-bower/bowerRepositoryPublic.json",
            "whitelist": [],
            "blacklist": []
        },
        "authentication": {
            "enabled": false,
            "key": "password"
        },
        "repositoryCache": {
            "cachePrivate": false,
            "git": {
                "enabled": false,
                "cacheDirectory": "/opt/private-bower/gitRepoCache",
                "host": "localhost",
                "port": 6789,
                "publicAccessURL" : null,
                "refreshTimeout": 10
            },
            "svn": {
                "enabled": false,
                "cacheDirectory": "/opt/private-bower/svnRepoCache",
                "host": "localhost",
                "port": 7891,
                "publicAccessURL" : null,
                "refreshTimeout": 10
            }
        },
        "proxySettings" : {
            "enabled": false,
            "host": "proxy",
            "username": "name",
            "password" : "pass",
            "port": 8080,
            "tunnel": false
        },
        "log4js" : {
            "enabled": true,
            "configPath" : "/opt/private-bower/log4js.conf.json"
        }
    }
    

    mybowerconfig.json关键配置说明

    • port:外部网络访问端口
    • registryFile:通过bower register name xxx 命令注册bower包的记录文件
    • log4js:configPath :日志配置

    log4js.conf.json 配置

    {
    "appenders": [
        {
        "type": "dateFile",
        "filename": "private-bower.log",
        "pattern": "-yyyy-MM-dd",
        "alwaysIncludePattern": false
        },
        {
        "type": "console"
        }
    ],
    "replaceConsole": true
    }
    

    启动private-bower

    cd /opt/private-bower
    private-bower --config ./mybowerconfig.json
    

    开放端口

    #以下代码为centos7
    # 开放端口
    firewall-cmd --zone=public --add-port=5678/tcp --permanent
    # 更新规则
    firewall-cmd --reload
    # 启动|关闭|重新启动 防火墙,(注意:如果执行`firewall-cmd --reload`命令后仍无法访问则重启服务
    systemctl [start|stop|restart] firewalld.service
    

    开机启动/注册为服务

    private-bower测试

    1、创建.bowerrc文件

    如果window下无法通过资源管理器创建时在命令行中(cmd)中执行以下代码

    type null>.bowerrc
    

    2、编辑以下内容

     {"registry":"http://<bower私服ip地址>:5678"}
    

    3、在命令行中执行以下命令测试

    bower search jquery
    

    创建bower包

    创建bower包需要满足以下条件

    • git :bower包依赖git仓库,公网可以选择github,私服可以搭建gitlab
    • git仓库的tags使用标准版本号格式 :bower 通过读取git仓库tags识别bower版本号。版本号建议使用标准版本号格式,即xx.xx.xx[.xx],并且支持v作为前缀的版本号。有效tag如:1.1.0v1.1.1
    • git仓库根目录包含bower.json :该文件声明bower包的相关信息

    创建bower.json

    # 执行以下命令,根据提示输入即可
    bower init
    

    bower.json文件基本结构

    {
      "name": "bower_name",
      "authors": [
        "xxx"
      ],
      "description": "",
      "main": "",
      "license": "MIT",
      "homepage": "",
      "private": false,
      "ignore": [
        "**/.*",
        "node_modules",
        "bower_components",
        "test",
        "tests"
      ]
    }
    

    创建git仓库

    基本流程
    1、创建仓库
    2、添加bower.json文件到master分支根目录
    3、创建仓库tag

    注册bower包到私服

    在包含.bowerrc文件的目录下打开命令行,并且.bowerrc文件必须包含私服的定义

    cd /d xxx  #xxx为包含.bowerrc文件的目录
    bower register name xxx.git #xxx.git为bower包项目git地址
    

    bower包建议

    对于只需要引用必要资源文件的项目可以创建单独的git分支用于bower的发布,也可以使用bower.json文件配置忽略项目。

    例如:

    git仓库创建专门的用于bower发布的分支,该分支仅包含发布的必要文件,排除原始代码文件、示例、脚本等。创建tag时仅对该分支创建tag。如以下范例,其中bower分支为bower包的发布分支

    • master

      • src
      • dist
      • examples
      • bower.json
      • readme.md
    • bower

      • dist
      • bower.json
    • tags->分支bower

      • 1.1.1
      • 1.1.2

    客户端使用

    创建基础配置

    在需要通过bower管理包的项目根目录创建bower.json.bowerrc

    1、创建.bowerrc

        #window环境下使用cmd创建
        type null>.bowerrc
    

    编辑.bowerrc文件

    {
      "registry": {
        "register": "http://<私服 IP or URL>:5678",
        "search": [
          "http://<私服 IP or URL>:5678",
          "https://registry.bower.io"
        ]
      },
      "directory": "wwwroot/lib"
    }
    

    配置说明

    • registry:register :bower register name xxx 命令的注册地址
    • registry:search : bower包搜索安装的路径
    • directory : bower包放置路径

    2、创建bower.json

    通过bower init命令创建bower.json。创建后添加dependencies配置节点,该节点用于应用依赖项,bower还原时自动下载依赖项。配置如下

    {
      "name": "projectname",
      "authors": [
        "xxx"
      ],
      "description": "",
      "main": "",
      "license": "MIT",
      "homepage": "",
      "ignore": [
        "**/.*",
        "node_modules",
        "bower_components",
        "wwwroot/lib",
        "test",
        "tests"
      ],
      "dependencies": {
        "d3": "v5.9.2"
      }
    }
    
  • 相关阅读:
    【Foreign】无聊的计算姬 [Lucas][BSGS]
    【Foreign】远行 [LCT]
    Leetcode题解(十)
    Leetcode题解(九)
    Leetcode题解(八)
    Leetcode题解(七)
    Leetcode题解(六)
    Leetcode题解(五)
    Leetcode题解(四)
    Leetcode题解(三)
  • 原文地址:https://www.cnblogs.com/chiikin/p/11113439.html
Copyright © 2020-2023  润新知