当前位置: 首页 > news >正文

网站怎么自己做推广网站建设公司-跨界鱼科技

网站怎么自己做推广,网站建设公司-跨界鱼科技,哪里有网站建设联系方式,网页设计综合实训论文Node.js#xff1a;模块 包 模块module对象 包npm安装包配置文件镜像源 分类 模块 模块化是指解决一个复杂问题时#xff0c;自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说#xff0c;模块是可组合、分解和更换的单元。 简单来说#xff0c;就是把一个… Node.js模块 包 模块module对象 包npm安装包配置文件镜像源 分类 模块 模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说模块是可组合、分解和更换的单元。 简单来说就是把一个大问题拆分成一系列小问题然后逐个解决的过程。这就像是搭乐高积木不是直接建造一个巨大的城堡而是先建造城堡花园等几个小部分然后再把它们组合起来。 如果后续某些功能不需要了或者某些功能需要更新只需要操作对应的模块即可不需要改动整个程序。 再比如说可能两个程序需要一个相同的功能那么就就可以把这个模块复制两份给不同的程序使用。 所以模块可以提高代码的复用性可维护性。 Node.js 中根据模块来源的不同将模块分为了3 大类 内置模块内置模块是由 Node.js 官方提供的例如 fs、path、http 等自定义模块用户创建的每个 js 文件都是自定义模块第三方模块由第三方开发出来的模块使用前需要先下载 想要加载一个模块可以使用require方法 const obj require(模块名) const obj require(模块路径)对于内置模块和第三方模块只需要传入模块名即可如果是自定义模块就需要填入模块的路径。 比如 const test requits(./test.js)自定义模块一定是一个.js结尾的文件所以也可以省略.js后缀 const test requits(./test)模块被导入时模块内部的代码会立刻执行一次。 ./test.js写入以下代码 console.log(require test.js success)在另一个文件中导入模块 const test require(./test.js) console.log(test)输出结果 require test.js success {}在./test.js中的代码就立刻执行了一次test变量拿到了一个空对象。 module对象 在模块中定义的变量、方法都只能在模块内部被访问这种模块级别的访问限制称为模块作用域。 那么外部导入模块后又要如何访问模块的内容这就需要通过module对象了。 在每一个.js模块中都有一个module对象这里面存储了当前模块的相关信息。 直接console.log输出这个对象 {id: .,path: D:\\code_web\\test\\Node\\02,exports: {},filename: D:\\code_web\\test\\Node\\02\\main.js,loaded: false,children: [],paths: [D:\\code_web\\test\\Node\\02\\node_modules,D:\\code_web\\test\\Node\\node_modules,D:\\code_web\\test\\node_modules,D:\\code_web\\node_modules,D:\\node_modules],[Symbol(kIsMainSymbol)]: true,[Symbol(kIsCachedByESMLoader)]: false,[Symbol(kIsExecuting)]: true }可以看到一些文件的相关信息其中exports: {}是一个空对象通过exports这个属性可以向外共享模块的内容默认情况为空。当外界通过require导入模块时拿到的就是这个对象。 示例 在test.js中将成员与方法添加到module.exports中 console.log(require test.js success)module.exports.username 张三 module.exports.sayHello function(){console.log(this.username say hello) }在main.js中导入模块并调用函数 const test require(./test.js) console.log(test)test.sayHello()输出结果 require test.js success { username: 张三, sayHello: [Function (anonymous)] } 张三 say hello此时test变量拿到的就是一个有内容的对象并且可以正常调用模块内的属性与方法。 每次共享一个新的成员或方法都要使用module.exports这有点麻烦了。为此Node.js提供了exports对象它与module.exports指向同一个对象在编写代码时可以使用简写。 exports.username 张三 exports.sayHello function(){console.log(this.username say hello) }但是要注意不要改变exports指向的对象。 exports {username: 李四,sayHello: function(){console.log(this.username say hello)} }如果在某个模块内部这样写等到模块导入后拿到的是一个空对象而不是exports指向的对象。因为以上代码相当于把exports指向了一个新的对象此时module.exports和exports指向不同导入模块最终以module.exports为准所以exports就失效了。 包 在Node.js中第三方模块又称为包。 Node.js的内置模块功能较少基于内置模块开发效率很低因此很多第三方封装了更加高级方便的模块并公开给大家使用。 npm 如果包太多那么每个不同的包都要去不同的地方下载这样很麻烦。但是npm建立了一个包共享平台很多程序员都会把自己封装的包提交到这个平台因此我们就可以通过npm来快速下载所需的包。 官方网址 https://www.npmjs.com/安装包 下载包的命令 npm install 包名 npm i 包名i是install的简写两种格式都可以下载包。 删除包的命令 npm uninstell 包名下载一个moment包 这个包是一个时间相关的包使用时直接以普通模块的形式导入即可 const moment require(moment)const dt moment().format(YYYY-MM-DD HH:mm:ss) console.log(dt)此处moment().format(YYYY-MM-DD HH:mm:ss)用于格式化输出当前时间。 输出结果 2024-10-30 20:40:36配置文件 在第一次装包后同级目录会出现以下文件 node_modules存储了所有下载的包比如刚下载的moment而.package-lock,json是包的相关信息内容如下 {name: 02,lockfileVersion: 3,requires: true,packages: {: {dependencies: {moment: ^2.30.1}},node_modules/moment: {version: 2.30.1,resolved: https://registry.npmjs.org/moment/-/moment-2.30.1.tgz,integrity: sha512-uEmtNhbDOrWPFShdjFCBfy9f2YoyzRpwclDqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how,license: MIT,engines: {node: *}}} }这里面保存了下载的包的相关信息比如下载版本下载来源等等。 如果想要下载指定版本的包语法如下 npm install 包名版本号 npm i 包名版本号例如安装moment:2.22.2版本 显示修改了一个包也就是之前的2.30.1版本被覆盖了。 除去node_modules和.package-lock,json还可以找到一个package,json文件 这个文件与node_modules同级内部包含dependencies属性 {dependencies: {moment: ^2.30.1} }比如再下载一个jQuery 此时package,json文件更新 {dependencies: {jquery: ^3.7.1,moment: ^2.30.1} }这里记录了所有下载过的包当拿到一个项目时往往不会提供node_modules目录因为这个目录很大不利于传输。因此会提供一个package,json文件这个文件可以帮助快速下载所有依赖的包。 npm install npm i当npm install不带任何包名就会去下载package,json文件中指定的所有包快速初始化项目。 package,json文件不在node_modules目录内部而是与node_modules同级就是因为多人协作时node_modules往往不会发送给同事而是发送package,json来初始化项目。 镜像源 默认情况下npm会去https://registry.npmjs.org/这个网址下载包但是这是一个国外的网址下载速度比较慢。 为此淘宝在国内建立了一个镜像站https://registry.taobao.org/这个网站会实时同步https://registry.npmjs.org/所以国内用户可以修改镜像源为这个淘宝的镜像源提升下载效率。 查看当前镜像源 npm config get registry安装nrm工具 npm i nrm -g查看可用的镜像源 nrm ls切换到淘宝镜像源 nrm use taobao分类 包分为项目包与全局包 项目包只供一个项目使用的安装到node_modules目录下的包全局包主机上所有项目都可以使用的包 如果想要安装或卸载全局包只需要加上-g参数即可 npm i -g 包名 npm uninstall -g 包名先前安装的nrm就是按照全局安装的这样后续所有项目下载包时都会使用淘宝的镜像源。
http://www.pierceye.com/news/269/

相关文章:

  • 网站如何做下载链接阿里云服务器上做淘宝客网站
  • 电子类网站建设需要多少钱大型h5手游平台
  • 海洋网络做网站不负责邢台太行中学怎么样
  • 现在哪些网站做外贸的好做空间 建网站
  • 建设银行河北分行官网招聘网站中国一级建造师
  • 网站开发常用问题手机网站做分享到微信
  • 用wp做网站备案网站城市分站是怎么做的
  • 网络营销的主要形式有建设网站网站开发好吗
  • 创建个人网站的步骤ui设计师要学什么
  • 基金培训网站wordpress产品列表页
  • 网站网页的收录数量哪家做网站便宜
  • 宿州保洁公司哪家好大连seo排名扣费
  • 免费自助网站建站淄博天一建设项目招标代理有限公司网站
  • 做竞价网站需要什么样的空间广西桂林公司
  • 什么是网站建设的建议什么人做网站
  • 公司企业网站建设步骤上海网站建设联系方式
  • 做艺人资料卡的网站社保服务个人网站
  • 营销型企业网站建设的流程是公司网站开发人员离职后修改公司网站
  • 做gif动图的网站犯法吗网页的设计流程是怎样的
  • 给个高质量的网站word用来做网站的
  • 外贸公司网站建设费用 如何申请国家信用信息公示系统广东
  • 洪梅网站建设公司网站建立明细预计表
  • 定制产品网站河南新闻头条最新消息
  • 上海网站开发多少钱怎样查找网站域名
  • 吉林大学建设工程学院网站百度小程序官网
  • 城乡建设部网站首页甲级wordpress系统下载
  • 江苏优质网站制作公司杭州企业网站建设公司怎么样
  • 企业网站建设规划电子商务网站建设参考文献2018
  • 网页设计及制作方法南京网站建设 seo
  • 在沈阳做一个展示网站多少钱做盗版电影网站教程