6.node中的配置文件

阅读: 评论:0

6.node中的配置文件

package.json

每一个项目都要有一个package.json 文件(包括描述文件,就像产品说明书一样)
这个文件可以通过npm init 自动初始化出来

D:codenode中的模块系统>npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.See `npm help json` for definitive documentation on these fields
and exactly what they do.Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.Press ^C at any time to quit.
package name: (node中的模块系统)
Sorry, name can only contain URL-friendly characters.
package name: (node中的模块系统) cls
version: (1.0.0)
description: 这是一个测试项目
entry point: (main.js)
test command:
git repository:
keywords:
author: xiaochen
license: (ISC)
About to write to D:codenode中的模块系统package.json:{"name": "cls","version": "1.0.0","description": "这是一个测试项目","main": "main.js","scripts": {"test": "echo "Error: no test specified" && exit 1"},"author": "xiaochen","license": "ISC"
}Is this OK? (yes) yes

对于目前来讲,最有用的是dependencies选项,可以用来帮助我们保存第三方包的依赖信息

如果 node_modules 删除了也不用担心,只需要在控制面板中 npm install 就会自动吧package.json中的dependencies 中所有的依赖项全部都下载回来

  • 建议每个项目的根目录下都有一个package.json文件
  • 建议执行npm install 包名的时候都加上 --save 选项,目的是用来保存依赖信息

package.json和package-lock.json

npm 5 以前是不会有package-lock.json这个文件
npm 5 以后才加入这个文件

当你安装包的时候,npm 都会生成或者更新 package-lock.json 这个文件

  • npm5以后的版本安装都不要加 --save 参数,他会自动保存依赖信息
  • 当你安装包的时候,会自动创建或者更新 package-lock.json 文件
  • package-lock.json 这个文件会包含 node_modules 中所有包的信息(版本,下载地址。。。。)
    • 这样的话重新npm install 的时候速度就可以提升
  • 从文件来看,有一个lock称之为锁
    • 这个lock 使用来锁版本
    • 如果项目依赖了1.1.1版本
    • 如果你重新install其实会下载最新版本,文不是1.1.1
    • package-lock.json 的另外一个作用就是锁定版本号,防止自动升级

path路径操作模块

参考文档: .x/api/path.html.

  • path.basename:获取路径的文件名,默认包含扩展名
  • path.dirname:获取路径中的目录部分
  • path.parse:把路径转换为对象
    • root:根路径
    • dir:目录
    • base:包含后缀名的文件名
    • ext:后缀名
    • name:不包含后缀名的文件名
  • path.join:拼接路径
  • path.isAbsolute:判断一个路径是否为绝对路径

Node中的其他成员(_dirname,_filename)

每个模块中,除了require,exprots 等模块相关的API之外,还有两个特殊的成员:

  • _dirname , 是一个成员,可以用来动态获取当前文件所属目录的绝对路径
  • _filename, 可以用来动态的获取当前文件的绝对路径
  • _dirname 和filename 是不受执行node命令所属路径影响的

在文件操作中,使用相对路径是不可靠的,因为node中文件操作的路径别设计为相对于执行node命令所处的路径

所以为了了解这个问题,只需要把相对路径变为绝对路径(绝对路径不收任何影响)就可以了

就可以使用_dirname 或者 _filename 来帮助我们解决这个问题

在拼接路径的过程中,为了米面手动凭借带来的一些低级错误,推荐使用path.json()来辅助拼接

var fs = require('fs');
var path = require('path');// console.log(__dirname + &#');
// path.join方法会将文件操作中的相对路径都统一的转为动态的绝对路径
fs.readFile(path.join(__dirname + '/a.txt'),'utf8',function(err,data){if(err){throw err}console.log(data);
});// 补充:模块中的路径标识和这里的路径没关系,不受影响(就是党对于文件模块)
// 注意:模块中的路径标识和文件操作中的相对路径标识不一致
//      模块中的路径标识就是相对于当前文件模块,不受node命令所处路径影响

本文发布于:2024-02-03 08:09:21,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170691896249751.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:配置文件   node
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23