zoukankan      html  css  js  c++  java
  • 前端工程化

    什么是npm

    npm的全称Node Package Manager,npm原先只是作为nodejs的包管理工具,然而随着前端社区的发展,如今npm不仅是nodejs的包管理工具,还是前端js的包管理工具。

    更新npm

    安装过nodejs都知道,nodejs的安装会顺便安装上npm,所以这里不讲如何安装npm。通过命令npm update -g npm可以进行npm的更新

    墙的问题

    因为墙的原因,在国内使用npm会比较慢,这时候可以使用淘宝的npm镜像

    (方法一) 每次使用npm的时候指定镜像,npm install -g npm --registry=https://registry.npm.taobao.org

    (方法二) 安装cnpm,npm install -g cnpm --registry=https://registry.npm.taobao.org,之后就可以使用cnpm替代npm来进行包的安装,更新和卸载

    (方法三) 设置全局镜像源npm config set registry https://registry.npm.taobao.org

    常用命令

    npm init初始化bower生成package.json
    npm install package-name安装,如npm install express,可以带上--save参数,这样package.json中会写入该包的信息
    npm uninstall package-name卸载
    npm update更新
    npm list查看已安装的包列表

    使用npm shrinkwrap来管理包的依赖

    在项目开发中我们往往需要安装和升级相应的包,然而我们在开发的过程中使用的包版本和开发完成后进行部署的时候(npm install),包的版本可能会存在差异,这种差异可能就会导致项目运行报错。为了避免这种错误的发生,我们可以使用npm shrinkwrap来解决这个问题。

    在开发过程中,引入一个新包的流程如下

    • 执行npm install --save package-name@package-version
    • 进行实际开发
    • 执行npm shrinkwrap
    • 将代码,package.json和npm-shrinkwrap.json提交到版本仓库

    在开发过程中,更新一个包的流程如下

    • 执行npm outdated获取项目所有依赖的更新信息
    • 执行npm install --save package-name@package-version
    • 进行实际开发和功能测试
    • 执行npm shrinkwrap
    • 将代码,package.json和npm-shrinkwrap.json提交到版本仓库

    在开发过程中,删除一个包的流程如下

    • 执行npm uninstall --save package-name
    • 进行测试
    • 执行npm shrinkwrap
    • 将代码,package.json和npm-shrinkwrap.json提交到版本仓库

    创建私有的npm镜像

    • 安装sinopianpm install -g sinopia
    • 启动sinopia,执行sinopia

    接着在浏览器地址栏中输入http://localhost:4873/

    • 创建新用户npm adduser --registry http://localhost:4873
    • 发布包npm publish
      在提交包之前需要到~/.config/sinopia/config.yaml配置文件中删除proxy: npmjs这行配置项,这样才能将包提交到本地私有源
    • 安装包,安装包之前需要将镜像源指向私有的源,如npm config set registry http://localhost:4873
  • 相关阅读:
    如何:使用向导来处理项目模板 【转载】
    .NET : 如何在生成XML文档时绑定样式表
    如何在生产环境部署K2的流程
    SQL Server 数据库文档生成工具开源项目【合作邀请】
    新的纪元
    SharePoint : 谁说WSS不支持审核
    C++ : 类型的别名和对象的别名
    C++: 引用和地址运算符
    Infopath : 如何通过代码复制格式文本框的值
    正确地使用投影仪和移动硬盘
  • 原文地址:https://www.cnblogs.com/helbing/p/5432150.html
Copyright © 2011-2022 走看看