当前位置: 首页 > 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.zqtcl.cn/news/269/

相关文章:

  • 互联网创业项目平台加盟如何进行seo
  • 淘宝网站建设可信吗html5自建网站
  • 万户网络公司怎么样杭州企业seo
  • 高端网站定制设计公司销售型网站怎么做
  • 宝安网站建设网站制作哪家快免费建立网页
  • 仿牌网站仿牌外贸网站制作
  • 建设银行衡阳市分行网站组织建设情况怎么写
  • 做集团网站应注意什么销售管理系统有免费版
  • 自己做的网站怎么取sql数据企业网站建设费用摊销
  • 网站及app开发招聘wordpress 局域网
  • 烟台做网站公司哪家好商家店铺小程序
  • 丹灶网站建设高端营销型网站
  • 经常投诉网站快照网站换模板对seo
  • 所有网站都要备案吗网站的颜色
  • 网站开发怎么连接sqlserver百度风云榜电视剧排行榜
  • 建设银行 网站无法打开优酷网站模板下载
  • 长沙门户网站开发电脑上怎么做设计效果图
  • 商城网站建设php佛山 网站设计公司
  • 湖南网站设计制作wordpress 自动邮件
  • 有什么做网兼的网站好三网网站
  • 北京网站备案拍照龙岗住房和建设局网站官网
  • 汽车 营销 网站建设重庆建设工程人力资源官网
  • 精美个人网站wordpress 服务器
  • 深圳的网站设计网站建设app开发公司
  • 承德很好的网络建站wap网站引导页特效
  • 湖北中英双语网站建设视频网站后台功能
  • 制作个人免费网站展示设计网站公众号信息化建设工作计划
  • 平面设计有什么网站吴江网站优化
  • 保定聊城网站建设专业的网站建设排名
  • 郑州有哪些搞网站开发的公司杭州抖音seo