用户工具

站点工具


frontend:npm

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
frontend:npm [2016/09/09 10:22] – [Command] Add version command memoryfrontend:npm [2023/12/03 10:24] (当前版本) – 外部编辑 127.0.0.1
行 4: 行 4:
  
 ===== Common ===== ===== Common =====
 +
 +==== npm包版本规则 ====
 +
 +  * [[https://docs.npmjs.com/misc/semver|npm版本规则]]
 +  * [[http://semver.org/|Semantic Versioning 2.0.0]]
  
 ===== Command ===== ===== Command =====
行 11: 行 16:
 ==== version ==== ==== version ====
  
-bump version of project:+bump version of project[(After those commands, npm will auto increase the number of ''package.json'''s version field and add a git tag which same as npm version)]:
  
 <code bash> <code bash>
行 28: 行 33:
  
 <code - ~/.npmrc> <code - ~/.npmrc>
 +phantomjs_cdnurl=https://cnpmjs.org/downloads
 +sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
 registry=https://registry.npm.taobao.org registry=https://registry.npm.taobao.org
 +chromedriver_cdnurl=https://npm.taobao.org/mirrors/chromedriver
 +electron_mirror=https://npm.taobao.org/mirrors/electron/
 </code> </code>
  
行 35: 行 44:
 <code> <code>
 npm config set registry https://registry.npm.taobao.org npm config set registry https://registry.npm.taobao.org
 +npm config set phantomjs_cdnurl https://cnpmjs.org/downloads
 +npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
 +npm config set chromedriver_cdnurl https://npm.taobao.org/mirrors/chromedriver
 +npm config set electron_mirror https://npm.taobao.org/mirrors/electron/
 </code> </code>
  
-==== 加速phantomjs下载 ==== +或者像这样直接使用
- +
-phantomjs在中国大陆网络环境下下载巨慢,可以通过设置 ''PHANTOMJS_CDNURL'' 变量到[[https://cnpmjs.org/|cnpmjs]]加速下载+
  
 <code> <code>
-export PHANTOMJS_CDNURL=https://cnpmjs.org/downloads+PHANTOMJS_CDNURL=https://cnpmjs.org/downloads [...more variables] npm install 
 +</code>
  
-# or +<WRAP center round tip 60%> 
-PHANTOMJS_CDNURL=https://cnpmjs.org/downloads npm install+如果是在 ''sudo'' 执行 ''npm install'' ,记得把 ''.npmrc'' 复制到 ''/root/.npmrc'' 噢! 
 +</WRAP> 
 + 
 +===== 私有 Registry ===== 
 + 
 +==== Installation ==== 
 + 
 +安装 [[https://github.com/verdaccio/verdaccio/|verdaccio]] 来存放私有 npm packages,''verdaccio'' 的优势是简单易安装,仅需几行代码即可安装完成。 
 + 
 +<code bash> 
 +mkdir private-npm && cd private-npm 
 +npm init -y 
 +npm install --save verdaccio 
 +pm2 start -i 2 --name private-npm ./node_modules/.bin/verdaccio  # or ./node_modules/.bin/verdaccio
 </code> </code>
  
 +可选配置:
 +
 +<code yaml config.yml>
 +auth:
 +  htpasswd:
 +    max_users: -1   # 关闭注册
 +
 +packages:
 +  '@YOUR_CUSTOM_SCOPED_NAME/*':  # 配置自定的 scoped package 走该 Registry
 +    access: $all
 +    publish: $authenticated
 +    proxy: npmjs
 +
 +listen:
 +  - 0.0.0.0:4873     # 监听在公网
 +</code>
 +
 +==== Usage ====
 +
 +私有 Registry 的使用策略有几种。
 +
 +第一种是全量同步自 NPM Registry,此方案仅适用于搭建公共的 Registry 镜像服务。
 +
 +第二种是仅同步使用过的 npm pacakges。
 +
 +第三种是私有的包通过 ''@scoped/packageName'' 这种包名走搭建的私有的 Registry,公共的 packages 仍然走 NPM Registry。
 +
 +从方便和可靠性考虑,我们在此使用第三种方案。
 +
 +步骤如下:
 +
 +1. 注册私有 Registry 用户
 +
 +  npm adduser --registry 
 +
 +2. 登录私有 Registry ,并指定某个 ''@scopeName'' 包通过某个 Registry
 +
 +  npm login --registry http://[[ip]]:4873 --scope=@scopeName
 +
 +3. 提交某个包到私有的 Registry:
 +
 +<code json package.json>
 +{
 +  "name": "@scopeName/packageName"
 +}
 +</code>
  
 +在步骤二我们已经设置了 ''@scopeName'' 前缀的包都通过我们自行搭建的 Registry 下载/提交,所以仅需 ''npm publish'' 即可
frontend/npm.1473387777.txt.gz · 最后更改: 2023/12/03 10:24 (外部编辑)