目录
Nodejs
文件读写
-
正常文件读取
const fs = require('fs')
fs.readFile('hello.txt','utf-8', function(error, data){
if(error){
return console.log('读取文件失败',error.message)
}
console.log(data)
})
-
中文乱码问题
const fs = require('fs')
const iconv = require('iconv-lite')
fs.readFile('hello.txt', function(error, data){
if(error){
return console.log('读取文件失败',error.message)
}
var str = iconv.decode(data, 'GB2312')
console.log(str)
})
字符串处理
var s = "helloworld"
// 查找字符串是否包含
console.log(s.includes('llo'))
// 查找字符串位置
console.log(s.indexOf('llo'))
// 查找字符串结束位置
console.log(s.lastIndexOf('o'))
// 判断字符串是否以**开头
console.log(s.startsWith('he'))
// 判断字符串是否以**结尾
console.log(s.endsWith('ld'))
// 字符串分割
console.log(s.split('o').length)
容器
-
Array
// 创建数组
var arr = new Array()
arr[0] = "zhangsan"
arr[2] = "lisi"
console.log(arr)
// 插入
var arr1 = ['zhangsan','lisi']
arr1[arr1.length] = 'wangwu'
console.log(arr1)
// 删除
arr1.splice(1,1)
console.log(arr1)
// 遍历
for(var i=0;i<arr1.length;i++){
console.log(i + ":" +arr1[i])
}
arr1.forEach(function(item, index, arr){
console.log(index + ":" + item)
})
//查询
console.log(arr1.indexOf("wangwu_error"))
-
Map
// Map创建
var mp = new Map([
["i1","zhangsan"],
["i2", "lisi"]
])
console.log(mp)
// 添加
mp.set("i3","zhaoliu")
// 查询
console.log(mp.get("i2"))
//遍历
for(var key of mp.keys()){
console.log(key + ":" + mp.get(key))
}
for(var value of mp.values()){
console.log(value)
}
// 查询Map数量
console.log(mp.size)
//查询key是否存在
console.log(mp.has("i0"))
//删除key-value对
mp.delete("i1")
console.log(mp)
//清除所有元素
mp.clear()
console.log(mp)
子进程创建
-
使用exec启动子进程
const {exec} = require('child_process')
exec('dir',(error, stdout,stderr)=>{
if(error){
console.log(`exec error: ${error}`)
return
}
console.log(`stdout: ${stdout}`)
console.log(`stderr: ${stderr}`)
})
创建ES6项目
-
安装babel
npm install -g babel-cli npm install --save-dev babel-preset-es2015 babel-cli
-
添加配置文件(.babelrc)
{ "presets":[ "es2015" ], "plugins": [] }
-
转换文件
babel src/people.js -o dist/people.js babel src/main.js -o dist/main.js
-
转换文件夹
babel src -d dist