电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Node.js学习笔记-npm包管理

28页
  • 卖家[上传人]:一***
  • 文档编号:145576236
  • 上传时间:2020-09-21
  • 文档格式:DOCX
  • 文档大小:121.62KB
  • / 28 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、npm 包管理器简介目录 npm 简介 下载o 安装所有依赖o 安装单个软件包o 更新软件包 版本控制 运行任务npm 简介npm是 Node.js 标准的软件包管理器。在 2017 年 1 月时,npm 仓库中就已有超过 350000 个软件包,这使其成为世界上最大的单一语言代码仓库,并且可以确定几乎有可用于一切的软件包。它起初是作为下载和管理 Node.js 包依赖的方式,但其现在也已成为前端 JavaScript 中使用的工具。npm有很多功能。Yarn是 npm 的一个替代选择。下载npm可以管理项目依赖的下载。安装所有依赖如果项目具有package.json文件,则通过运行:npm install它会在node_modules文件夹(如果尚不存在则会创建)中安装项目所需的所有东西。安装单个软件包也可以通过运行以下命令安装特定的软件包:npm install 通常会在此命令中看到更多标志: -save安装并添加条目到package.json文件的 dependencies。 -save-dev安装并添加条目到package.json文件的 devDependencies。区别主

      2、要是,devDependencies通常是开发的工具(例如测试的库),而dependencies则是与生产环境中的应用程序相关。更新软件包通过运行以下命令,更新也变得很容易:npm updatenpm会检查所有软件包是否有满足版本限制的更新版本。也可以指定单个软件包进行更新:npm update 版本控制除了简单的下载外,npm还可以管理版本控制,因此可以指定软件包的任何特定版本,或者要求版本高于或低于所需版本。很多时候,一个库仅与另一个库的主版本兼容。或者,一个库的最新版本中有一个缺陷(仍未修复)引起了问题。指定库的显式版本还有助于使每个人都使用相同的软件包版本,以便整个团队运行相同的版本,直至package.json文件被更新。在所有这些情况中,版本控制都有很大的帮助,npm遵循语义版本控制标准。运行任务package.json 文件支持一种用于指定命令行任务(可通过使用以下方式运行)的格式:npm run 例如: scripts: start-dev: node lib/server-development, start: node lib/server-production ,

      3、使用此特性运行 Webpack 是很常见的: scripts: watch: webpack -watch -progress -colors -config webpack.conf.js, dev: webpack -progress -colors -config webpack.conf.js, prod: NODE_ENV=production webpack -p -config webpack.conf.js, ,因此可以运行如下,而不是输入那些容易忘记或输入错误的长命令:$ npm run watch$ npm run dev$ npm run prodnpm 将软件包安装到哪里当使用npm安装软件包时,可以执行两种安装类型: 本地安装 全局安装默认情况下,当输入npm install命令时,例如:npm install lodash软件包会被安装到当前文件树中的node_modules子文件夹下。在这种情况下,npm还会在当前文件夹中存在的package.json文件的dependencies属性中添加lodash条目。使用-g标志可以执行全局安装:npm insta

      4、ll -g lodash在这种情况下,npm不会将软件包安装到本地文件夹下,而是使用全局的位置。全局的位置到底在哪里?npm root -g命令会告知其在计算机上的确切位置。在 macOS 或 Linux 上,此位置可能是/usr/local/lib/node_modules。 在 Windows 上,可能是C:UsersYOUAppDataRoamingnpmnode_modules。但是,如果使用nvm管理 Node.js 版本,则该位置会有所不同。例如,使用nvm,则软件包的位置可能为/Users/joe/.nvm/versions/node/v8.9.0/lib/node_modules。如何使用或执行 npm 安装的软件包当使用npm将软件包安装到node_modules文件夹中或全局安装时,如何在 Node.js 代码中使用它?假设使用以下命令安装了流行的 JavaScript 实用工具库lodash:npm install lodash这会把软件包安装到本地的node_modules文件夹中。若要在代码中使用它,则只需使用require将其导入到程序中:const _ =

      5、 require(lodash)如果软件包是可执行文件,该怎么办?在这种情况下,它会把可执行文件放到node_modules/.bin/文件夹下。验证这一点的简单示例是cowsay。cowsay 软件包提供了一个命令行程序,可以执行该程序以使母牛说些话(以及其他动物也可以说话)。当使用npm install cowsay安装软件包时,它会在 node_modules 文件夹中安装自身以及一些依赖包:有一个隐藏的 .bin 文件夹,其中包含指向 cowsay 二进制文件的符号链接:如何执行这些文件?可以输入./node_modules/.bin/cowsay来运行它,但是最新版本的 npm(自 5.2 起)中包含的 npx 是更好的选择。 只需运行:npx cowsay则 npx 会找到程序包的位置。package.json 指南目录 文件结构 属性分类o nameo authoro contributorso bugso homepageo versiono licenseo keywordso descriptiono repositoryo maino privateo scrip

      6、tso dependencieso devDependencieso engineso browserslisto 命令特有的属性 软件包版本如果使用 JavaScript、或者曾经与 JavaScript 项目、Node.js 或前端项目进行过交互,则肯定会遇到过package.json文件。它有什么用途?应该了解它的什么,可以使用它完成哪些有趣的事情?package.json文件是项目的清单。 它可以做很多完全互不相关的事情。 例如,它是用于工具的配置中心。 它也是npm和yarn存储所有已安装软件包的名称和版本的地方。文件结构这是一个示例的 package.json 文件:它是空的! 对于应用程序,package.json文件中的内容没有固定的要求。 唯一的要求是必须遵守 JSON 格式,否则,尝试以编程的方式访问其属性的程序则无法读取它。如果要构建要在npm上分发的 Node.js 软件包,则必须具有一组可帮助其他人使用它的属性。 稍后会详细介绍。这是另一个 package.json: name: nodejs_cn它定义了name属性,用于告知应用程序或软件包的名称。这是一个

      7、更复杂的示例,该示例是从 Vue.js 应用程序示例中提取的: name: test-project, version: 1.0.0, description: A Vue.js project, main: src/main.js, private: true, scripts: dev: webpack-dev-server -inline -progress -config build/webpack.dev.conf.js, start: npm run dev, unit: jest -config test/unit/jest.conf.js -coverage, test: npm run unit, lint: eslint -ext .js,.vue src test/unit, build: node build/build.js , dependencies: vue: 2.5.2 , devDependencies: autoprefixer: 7.1.2, babel-core: 6.22.1, babel-eslint: 8.2.1, babel-helpe

      8、r-vue-jsx-merge-props: 2.0.3, babel-jest: 21.0.2, babel-loader: 7.1.1, babel-plugin-dynamic-import-node: 1.2.0, babel-plugin-syntax-jsx: 6.18.0, babel-plugin-transform-es2015-modules-commonjs: 6.26.0, babel-plugin-transform-runtime: 6.22.0, babel-plugin-transform-vue-jsx: 3.5.0, babel-preset-env: 1.3.2, babel-preset-stage-2: 6.22.0, chalk: 2.0.1, copy-webpack-plugin: 4.0.1, css-loader: 0.28.0, eslint: 4.15.0, eslint-config-airbnb-base: 11.3.0, eslint-friendly-formatter: 3.0.0, eslint-import-resolver-webpack: 0.8.3, eslint-loader: 1.7.1, eslint-plugin-import: 2.7.0, eslint-plugin-vue: 4.0.0, extract-text-webpack-plugin: 3.0.0, file-loader:

      《Node.js学习笔记-npm包管理》由会员一***分享,可在线阅读,更多相关《Node.js学习笔记-npm包管理》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.