require.context(读取文件的路径,是否遍历文件的子目录,匹配文件的正则)
个webpack的api,通过执行require.context函数获取一个特定的上下文,主要用来实现自动化导入模块,在前端工程中,如果遇到从一个文件夹引入很多模块的情况,可以使用这个api,它会遍历文件夹中的指定文件,然后自动导入,使得不需要每次显式的调用import导入模块
语法: require.context(directory, useSubdirectories = false, regExp = /^.//);
Array.keys()
keys() 方法用于从数组创建一个包含数组键的可迭代对象。
如果对象是数组返回 true,否则返回 false。
Array.reduce()
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
reduce() 可以作为一个高阶函数,用于函数的 compose。
语法:array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
| 参数 | 描述 |
| :———————————————————— | :—————————————————————————————- |
| function(total,currentValue, index,arr) | 必需。用于执行每个数组元素的函数。 total必需。初始值, 或者计算结束后的返回值。currentValue必需。当前元素currentIndex可选。当前元素的索引arr可选。当前元素所属的数组对象。 |
| initialValue* | 可选。传递给函数的初始值 |Array.forEach()
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
语法:array.forEach(function(currentValue, index, arr), thisValue)
| 参数 | 描述 |
| :—————————————————- | :—————————————————————————————- |
| function(currentValue, index, arr) | 必需。 数组中每个元素需要调用的函数。 currentValue必需。当前元素index可选。当前元素的索引值。arr可选。当前元素所属的数组对象。 |
| thisValue* | 可选。传递给函数的值一般用 “this” 值。 如果这个参数为空, “undefined” 会传递给 “this” 值 |Array.map()
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
注意: map() 不会对空数组进行检测。
注意: map() 不会改变原始数组。
语法:array.map(function(currentValue,index,arr), thisValue)
| 参数 | 描述 |
| :————————————————— | :—————————————————————————————- |
| function(currentValue, index,arr) | 必须。函数,数组中的每个元素都会执行这个函数;currentValue必须。当前元素的值index可选。当前元素的索引值arr可选。当前元素属于的数组对象 |
| thisValue* | 可选。对象作为该执行回调时使用,传递给函数,用作 “this” 的值。 如果省略了 thisValue,或者传入 null、undefined,那么回调函数的 this 为全局对象。 |stringObject.replac()
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
语法:stringObject.replace(regexp/substr,replacement)
| 参数 | 描述 |
| :—————— | :—————————————————————————————- |
| regexp/substr | 必需。规定子字符串或要替换的模式的 RegExp 对象。请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。 |
| replacement | 必需。一个字符串值。规定了替换文本或生成替换文本的函数。 |path.resolve()
path.resolve()
方法会把一个路径或路径片段的序列解析为一个绝对路径。(./表示的是当前目录,../ 是上一级目录)
给定的路径的序列是从右往左被处理的,后面每个path
被依次解析,直到构造完成一个绝对路径。 例如,给定的路径片段的序列为:/foo
、/bar
、baz
,则调用path.resolve('/foo', '/bar', 'baz')
会返回/bar/baz
。path.resolve([…paths])里的每个参数都类似在当前目录执行一个cd
操作,从左到右执行,返回的是最后的当前目录例如:
1
2cd /foo/bar //此时当前路径为 /foo/bar
cd ./baz //此时路径为 /foo/bar/baz
Js&Node.js常用方法集
谢谢老板