(一) path 的一些方法
const path = require('path')
const pathString = '/Users/macbook/Desktop/complier/index.js'
// dirname 显示目录
var dirname = path.dirname(pathString)
console.log(dirname) // /Users/macbook/Desktop/complier
// basename 文件名称
var basename = path.basename(pathString)
console.log(basename) // index.js
var basenameMain = path.basename(pathString, '.js')
console.log(basenameMain) // index 去掉js后缀
// extname 获取扩展名 也就是后缀 extends 拓展
var extname = path.extname(pathString)
console.log(extname) // .js
// isAbsolute 判断是否是绝对路径
const res = path.isAbsolute(pathString)
console.log(res) // true
const result = path.isAbsolute('./index.html')
console.log(result) // false
// parse 信息的结合
const obj = path.parse(pathString)
console.log(obj)
// { root: '/',
// dir: '/Users/macbook/Desktop/complier',
// base: 'index.js',
// ext: '.js',
// name: 'index'
// }
// join 作用:将路径片段使用特定的分隔符(window:\)(mac: /)连接起来形成路径
// 并规范化生成的路径。若任意一个路径片段类型错误,会报错。这个在项目中很常见
// 避免自己拼接带来的问题
const a = path.join(__dirname, 'c.js')
console.log(a) // /Users/macbook/Desktop/complier/c.js
const tst = path.join('test', 'post', 'index.js')
console.log(tst) // test/post/index.js
const b = path.join('complier/', 'aa', 'index.html')
console.log(b) // complier/aa/index.html
// 无论多/还是少/,自己会自动处理
// 当需要路径拼接的时候,不要自己拼,用path.join()
2. package.json
当我们安装包的时候,项目会自动 创建 或者 更新 package-lock.json 文件
1. package-lock.json 文件会自动保存 node_modules 中所有包的信息(如 版本、下载地址),这样当我们安装 npm install 的时候速度会大大提升
2. 从文件来看,lock 有 锁之称,如果没有这个文件,我们 npm install ,会下载大版本下最新的版本
"better-scroll": "^1.15.0",
在 大版本 1 下的最新版本是:1.15.2,如果有package-lock.json,会根据 package-lock.json 里 better-scroll 的版本下载:
"better-scroll": {
"version": "1.15.0",
"resolved": "https://registry-npm.daojia-inc.com/better-scroll/download/better-scroll-1.15.0.tgz",
"integrity": "sha1-Zf/GBYuLT/M3uN+tS8szTXaZzrY=",
"requires": {
"babel-runtime": "^6.0.0"
}
},