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

如何制作论坛网站品牌建设与营销管理

如何制作论坛网站,品牌建设与营销管理,软件外包app,wordpress头像存储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.hkea.cn/news/14275420/

相关文章:

  • 河南如何做网站买什么就开什么网站吗
  • 校园网站建设管理工作制度遵义网站设计
  • 网站开发工程师是什么内容WordPress调用内部js
  • 网站开发 请示发布网站建设信息
  • 怎么在本地搭建网站云主机 几个网站
  • 做网站的公司不会设计金华网站建设行业
  • 引擎搜索网站模板代理上海建站公司注册
  • 在线代理网页浏览网站在线培训考试系统
  • 公司网站不用了如何注销centos wordpress 搭建
  • 如何运用链接推广网站无忧网站建设公司
  • 网站开发属于购销合同什么网站用vue做的
  • 最简单的静态网站seo排名怎样
  • wordpress刷留言板seo免费工具
  • 网站页面配色分析零基础怎么做网站
  • 延边住房和城乡建设局网站网站后缀com
  • 广西高端网站建设公司自己做网站网页剧中
  • 青岛网站建设详细内容百度云加速 网站关键词
  • 辽宁省建设厅官方网站职称评定深圳商标注册公司
  • 水利厅网站集约化建设成都广告设计制作公司
  • 诀窍的网站wordpress响应慢
  • 月流量10g的网站网站什么时候做SEO优化最合适
  • 旅游网站开发外文翻译wordpress 新页面跳转
  • 西瓜网络深圳网站建设 东莞网站建设我做的网页怎么是危险网站
  • 天水建设银行网站软件app开发公司业务员
  • 中英网站模板 照明做哪个网站有效果
  • 广州头条新闻最新安阳网站seo
  • 公司网站开发费用济南兴田德润简介图片v9双语版网站怎么做
  • 苏州网络推广建网站企业网站欣赏郑州企业形象设计
  • 国内知名网站制作公司制作网页与网站
  • 1.86神华网站两学一做大型门户网站是这样炼成的源代码