内容简介:[TOC]背景: 为了逼格的提升。简单的啰嗦一下,可忽略。
[TOC]
背景: 为了逼格的提升。简单的啰嗦一下,可忽略。
- 目前我们团队中的多个项目是同时进行开发的,每个项目中组件都有非常高可复用型。当遇到之前某一块的业务场景需要进行升级的时候,为了减少去每一个项目中修改大量代码的时间,我们只需要在私有的cnpm厂库修改一次,然后依次在每个项目中npm update对应的包,问题就解决了。
- 方便查看团队中有多少组件以及组件如何使用,让每个成员有了提取组件动力,促进团队快速成长。
- 开发过程中不乏遇到赶工期,偏偏这个时候又遇到复杂的业务。在此之前是先把之前做的项目代码阅读一边,在把关键代码复制过来,进行调试。恰巧代码不是自己写得。又要可能花费一部分时间去阅读以下代码逻辑。我的天呀!是不是小半天过去了,还能不能愉快的吃鸡了。
一、部署方式
- 私有npm部署方式
-
选择cnpm原因
- cnpm中服务端通过koa框架进行开发,方便后续查看源码。
- 支持 msyql,数据迁移方便,
- 国内cnpm团队开发,遇到问题方便查找。
二、前期准备
三、cnpm安装
-
下载cnpmjs
#clone from github $ git clone git://github.com/cnpm/cnpmjs.org.git $ cd cnpmjs.org #create mysql tables,在cnpm 目中进行启动mysql $mysql -u root -p mysql> create database cnpmjs mysql> use cnpmjs; mysql> source docs/db.sql 复制代码
-
修改配置文件
- 为防止误操作建议不要修改config/index.js。我们在config目录下新建index.js
$ vim config/config.js 复制代码
module.exports = { debug: false, database: { db: 'cnpmjs', // 数据库名,默认为cnpmjs_test host: '127.0.0.1', // 服务器地址 port: 3306, // 端口 username: 'root', // 用户名, password: '123456', // 对于cento或ubuntu如果用root用户名连接数据库,这里请设置密码为空.非root请正常填写 dialect: 'mysql' // 使用mysql,默认为sqlite, 还支持postgres,mariadb,暂时不支持oracle }, admins: { admin: 'admin@cnpmjs.org' // 管理员权限 }, scopes: ['@vt'], // 私有包必须依附于 scope 下 registryHost: '127.0.0.1:7001', //替换服务器ip bindingHost: '0.0.0.0' }; 复制代码
3.启动服务
-
window用户
#cnpmjs.org目录中启动 node diapatch.js 复制代码
-
非window通过
npm start npm restart npm stop 复制代码
asdf
四、cnpm包的发布
``
nrm add local http://127.0.0.1:7001/
nrm use local
nrm ls
npm login
npm publish
# 查看包的详细信息
npm info
#新建一个项目进行下载
npm install @vt/zhangle
```
复制代码
五、爬坑秘籍
- 建议使用 git clone git://github.com/cnpm/cnpmjs.org.git 不建议使用 全局安装 通过npm install cnpmjs.org进行安装的,需要找到全局安装cnpmjs.org位置( /root/.nvm/versions/node/v10.15.3/lib/node_modules/cnpmjs.org) ,修改config/config.js 通过cnpmjs.org start
- cnpm 7002 可以正常访问,7001端口访问失败.这种情况最大可能是没有连接数据库.
- 启动过程出现问题绝大多数都是config/index.js配置问题.
- 阿里云外部想要访问需要做以下处理安全策略端口7001和7002是否对外开放.
- navicate不能连接 mysql 数据库
`` mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql>FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) ``` 复制代码
- 如果用 sqlite 3不能访问7001,需要node ./models/init_script.js sqlite 进行初始化
后续
- 没有npm列表,只能通过搜索后续补充,需要进行优化界面
- 目前还没有组件开发的规范文档.
- 服务端 docker 部署未完成
参考资料
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 明道云私有部署版 v2.3.0 发布
- 微软超融合私有云测试31-SCCM2016部署之前提条件准备、SQL部署
- OpenStack(企业私有云)万里长征第二步——使用Fuel部署
- 将私有 Ethereum 区块链部署到 IBM Cloud Kubernetes Service
- Erlang私有函数的私有程度如何?
- JavaScript 新语法详解:Class 的私有属性与私有方法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Usability for the Web
Tom Brinck、Darren Gergle、Scott D. Wood / Morgan Kaufmann / 2001-10-15 / USD 65.95
Every stage in the design of a new web site is an opportunity to meet or miss deadlines and budgetary goals. Every stage is an opportunity to boost or undercut the site's usability. Thi......一起来看看 《Usability for the Web》 这本书的介绍吧!