组件平台分享
一.组件上传平台sinopia
sinopia不需要些代码只需要你把该配置的东西配置好就行
1.服务器安装node
2.配置软链
ln -s /../node-v6.10.3-linux-x64/bin/node /usr/local/bin/node 建立软连接用绝对路劲
ln -s /../node-v6.10.3-linux-x64/bin/npm /usr/local/bin/npm
3.npm安装sinopia
/root/.config/sinopia/config.yaml 配置文件
storage: /home/{user}/.local/share/sinopia/storage # 库存路径,需要考虑磁盘空间
web: # 自定义web项,即浏览器访问页面
auth:
htpasswd:
file: ./htpasswd # 添加用户(npm adduser)后自动创建,保存用户信息,可以初始化用户
# Maximum amount of users allowed to register, defaults to "+inf".
# You can set this to -1 to disable registration.
#max_users: 1000 # 设置为-1不能npm adduser
uplinks: # 可以配置多个上游地址,后面packages中的proxy指定用哪个
npmjs:
url: https://registry.npm.taobao.org/ # 更改此上游地址
# amount of time to wait for repository to respond
# before giving up and use the local cached copy
#timeout: 30s # 请求上游地址超时时间
# maximum time in which data is considered up to date
#
# default is 2 minutes, so server won't request the same data from
# uplink if a similar request was made less than 2 minutes ago
#maxage: 2m # 包过期时间
# if two subsequent requests fail, no further requests will be sent to
# this uplink for five minutes
#max_fails: 2 # 容许依赖请求最大失败数
#fail_timeout: 5m # 依赖请求超时时间
packages: # 包的权限管理,$all为所有人,$authenticated为通过验证人
# 分布和安装两种权限,值可以特指某几人
'@*/*': # 跟package.json中的name属性进行匹配
# scoped packages
access: $all
publish: $authenticated
'*':
# allow all users (including non-authenticated users) to read and
# publish all packages
#
# you can specify usernames/groupnames (depending on your auth plugin)
# and three keywords: "$all", "$anonymous", "$authenticated"
access: $all
# allow all known users to publish packages
# (anyone can register by default, remember?)
publish: $authenticated
# if package is not available locally, proxy requests to 'npmjs' registry
proxy: npmjs
# log settings
logs:
- {type: stdout, format: pretty, level: http}
#- {type: file, path: sinopia.log, level: info}
listen: 0.0.0.0:4873 # 设置监听地址,0.0.0.0匹配本机地址
/root/.config/sinopia/htpasswd 用户
storage:/usr/local/sinopia/storage 服务器包的存放地址
4.npm安装pm2 pm2托管sinopia进程,保持进程长期开启
5.本地nrm管理npm源
6.开发组件
1.创建目录(统一命名sf<name>)
2.npm init 初始化package.json (版本号是你上传组件的版本号)
3.组件正常开发
类比/Users/zhaozhanhai/Desktop/test/component/sfloadmore
4.登录npm用户
npm login
Username: sffe
Password: sffe
Email: zhanhaizhao@sf-express.com
5.npm publish 发布
6.删除发布包
npm unpublish <package> --force
7.更新版本
修改package.json version
npm publish
二.组件预览平台
1.使用vuepress
├─ docs
│ | .vuepress
│ ├─ README.md 入口文件结构
│ └─ .vuepress
│ └─ config.js 配置文件(导航栏,侧边栏)
│ └─ enhanceApp.js Vue 插件,注册全局组件,或者添加额外的路由钩子
│ └─override.styl 主题颜色配置
│ └─components 组件模块
│ └─public 公用模块
│ | baseComponents
│ ├─ base
│ ├─ test1.md 三级侧边栏入口文件
│ ├─ README.md 二级顶部菜单首页
└─ package.json
使用
组件使用的时候 从components下边开始 以-分割
支持vue md双语法
三.niginx部署页面
1安装homebrew
sudo ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装nginx
安装:brew install nginx
安装目录
/usr/local/webserver/nginx/sbin 查看nginx版本 sudo ./nginx
启动:sudo nginx
停止:sudo nginx -s quit
配置软连接 ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
配置nginx:
配置nginx 目录 /usr/local/nginx/conf/nginx.conf
错误日志目录 /usr/local/nginx/logs/error.log
配置文件目录 /usr/local/nginx/conf/nginx.conf
自定义配置文件
user root; //403的解决方案
worker_processes 8;
server {
listen 80;
server_name localhost;
root /home/sftcwl/www;
charset utf-8;
#access_log logs/host.access.log main;
location / {
root /home/sftcwl/www/dataCom;
index index.html;
}
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|pdf|txt|svg){
root /home/sftcwl/www;
}
location ~* /dataCom/ {
root /home/sftcwl/www/;
}
坑:
1.mac 1024以下的端口需要用 sudo nginx给到root权限
2.nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such file or directory) 每次关闭nginx会删除nginx.pid 执行nginx -c /usr/local/etc/nginx/nginx.conf 回复