前言path 模块是 nodejs 中用于处理文件/目录路径的一个内置模块,可以看作是一个工具箱,提供诸多方法供我们使用,当然都是和路径处理有关的。...:如果 path 不是字符串或者给定的 ext 参数不是字符串,则抛出 TypeError如果有 ext 参数,当 ext 后缀名与文件名匹配上时返回的文件名会省略文件后缀如果 path 尾部有目录分隔符则会被忽略...不是字符串,则抛出 TypeError如果给定的 path 字符串长度为0,则返回 falseconst path = require("path");path.isAbsolute('//foo');...(将路径片段解析后生成的绝对路径)注意:路径片段如果给出则必须是字符串类型,否则类型错误给定的路径序列从右到左进行处理,每个后续的 path 前置,直到构造出一个绝对路径如果处理完所有给定的 path...dirname,filename__dirname:可以看作是 nodejs 中的全局变量,它始终表示当前执行文件所在目录的完整目录名(绝对路径)__filename:可以看作是 nodejs 中的全局变量
大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。...TypeError: Arguments to path.join must be strings at f (path.js:204:15) at Object.filter (native...; }); 错误原因: 基本的错误原因是上面代码第8行,将代码改为下面形式就可以工作。....最后解析的结果不是windows 那种路径样子.....然后到创建流的时候路径就不正确了..
通过 process.argv 可以获取传入的命令行参数,返回值是一个数组: 0: Node 路径(一般用不到,直接忽略) 1: 被执行的 JS 文件路径(一般用不到,直接忽略) 2~n: 真实传入命令的参数...这里就说 5 个最常用的: path.join(...paths) path.join 作用是将传入的多个路径拼成一个完整的路径。...在 CLI 中,经常需要获取一个路径下的所有文件,这时候也需要使用 fs.stat 来判断是目录还是文件,如果是目录则继续递归。当然,现在也有更方便的 API 可以完成这个工作。...入参如下: 第一个参数: 文件路径 第二个参数: 配置对象,包括 encoding 和 flag,也可以直接传如 encoding 字符串 第三个参数: 回调函数 使用方法如下: const fs =...,接收四个参数: 第一个参数: 待写入的文件路径 第二个参数: 待写入的文件内容 第三个参数: 配置对象,包括 encoding 和 flag,也可以直接传如 encoding 字符串 第三个参数: 回调函数
1.什么是HTTP模块 我们知道传统的HTPP服务器会由Aphche、Nginx、IIS之类的软件来担任,但是nodejs并不需要,nodejs提供了http模块,自身就可以用来构建服务器,而且http...,包含三个事件 data:当请求体数据到来时,该事件被触发,该事件提供一个参数chunk,表示接受的数据,如果该事件没有被监听,则请求体会被抛弃,该事件可能会被调用多次(这与nodejs是异步的有关系...后面的部分,因此你可以手动解析后面的内容作为GET的参数,Nodejs的url模块中的parse函数提供了这个功能。...urlString 要解析的url地址 parseQueryString 解析出来的查询字符串还是查询对象,true是对象 false是字符串 例如:http://foo/bar?...let params = ""; // 注意 在NodeJS中 ,POST请求的参数我们不能一次性拿到, 必须分批获取 req.on("data", function (chunk
Path > 填写上你的目录 注意事项: 如果更改了系统的环境变量,就必须把终端重新启动 启动node.exe执行js代码 启动(相当于启动Apache服务器) 1、在我们的node的安装目录下,去双击我们...,首先你的终端的目录得切换到你要 执行的文件的目录下面去,然后使用node 文件名称执行即可 我们nodejs的代码是在一个叫做REPL环境中,执行的 REPL JS的执行 执行js在浏览器端,我是是要依靠浏览器...3、便于复用 NodeJS中如何体现模块化 1、Node本身是基于CommonJS规范, 参考:http://javascript.ruanyifeng.com/nodejs/module.html...,true),如果是true的话代表把我们 的username=zhangsan&pwd=123 字符串解析成js对象 // 使用url模块获取url中的一些相关信息 const url = require...,就用GET,因为GET有缓存效率高 如果是要向服务器提交数据,就用POST fs&path path 作用:获取路径 path.join(__dirname,'你要读取的文件夹下面的文件名称即可')
一、简单的静态服务器 1、代码解析 var http = require('http') // http是nodejs里面的一个模块,这个对象能够提供实现底层的方法。...参数2是 statusMessage 是可选的状态描述,是一个string。 参数3 headers 是响应头,是个对象。其实我们可以理解为这个对象放的是response headers全部内容。.../* 参数1:把哪个路径当成静态文件路径,传递路径名。__dirname是nodejs里面的一个变量,代表当前的server.js执行的这个文件。...path.join(__dirname, 'static')可以使用一个或多个字符串值参数,该参数返回将这些字符串值参数结合而成的路径。...异步形式的最后一个参数是完成时的回调函数。 传给回调函数的参数取决于具体方法,但第一个参数会保留给异常。 如果操作成功完成,则第一个参数会是 null 或 undefined。
如果你node二进制文件是nodejs不是node或者如果你的nodejs版本是v0.10.29 ,那么你应该根据以下这个说明来操作。...尽管串口是一个流,但当写入它可以接受的字节数组除了字符串和缓存时,这个格外的功能非常有用。...[encoding] string 编码, 如果数据块是一个字符串. 默认的是 'utf8'....数据将会是一个缓存对象,很多不同的数据量在其中.readLine解析器将数据转换成字符串.查看 parsers部分了解关于解析器的更多信息以及 NodeJS stream documentation 了解更多关于数据事件的信息...Throws: TypeError当给定一个无效的参数,将会抛出TypeError错误.
, options], callback)参数解释:path:必选参数,字符串,表示文件的路径。...:file:必选参数,需要指定一个文件路径的字符串,表示文件的存放路径。...导入模块// Nodejs内置模块 无需额外安装const fs = require('fs')路径拼接使用path.join(方法,可以把多个路径片段拼接为完整的路径字符串,语法格式如下path.join...path.basename(path[, ext])参数解释:path:必选参数,表示一个路径的字符串ext:可选参数,表示文件扩展名使用示例const path = require('path')const...path.extname)方法,可以获取路径中的扩展名部分path.extname(path)参数解释:path:必选参数,表示一个路径的字符串使用示例const path = require('path
问题描述 在JavaScript中定义button的onclick点击事件,传递参数的时候,某个参数是数组,在方法体里面接收到的值是[object,object]。...,示例: 我传递了两个参数给点击事件方法modifyFunc,第一个参数是字符串,第二个参数是数组。...是字符串数组,而不是[object,object] ... ... } 问题分析 将数组参数转换为JSON字符串是一个很好的做法,这样可以确保数组中的数据以正确的格式传递给函数。...使用replace(/"/g, '"')是一个很好的解决方案,它可以将双引号(")替换为转义的双引号("),这样可以确保字符串在传递时不会被错误地解析。...如果你在函数中接收的arr参数仍然是数组,那么你可能需要使用JSON.parse()将字符串转换回数组。
Node.js 的官网地址: https://nodejs.org/zh-cn (opens new window) # Node.js可以做什么 Node.js 作为一个 JavaScript 的运行环境...(path,option,callback) path:必选参数,字符串,表示文件的读取路径 option:可选参数,表示以什么编码格式来读取文件 callback:必选参数,文件读取完成后,通过回调函数拿到读取的结果...callback) path:必选参数,需要指定一个文件路径的字符串,表示文件的存放路径 data:必选参数,表示要写入的内容 option:可选参数,表示以什么格式写入文件内容,默认值是 utf8 callback...导入使用: const path = require('path') # path.join() 用来将多个路径片段拼接成一个完整的路径字符串 语法: path.join([...paths]) 例子...,将文件名解析出来 语法: path.basename(path,ext) path: 必选参数,表示一个路径的字符串 ext: 可选参数,表示文件扩展名 返回: 表示路径中的最后一部 例子: const
因为在系统变量里,多个路径是被拼接为一个字符串存储(不是数组集合)。...两者的不同点在于:path.join()只是拼接路径,path.resolve() 会将拼接好的路径转换成绝对路径。...path.join("...由于在 Windows 和 Posix 上,针对 path 的一些规范不相同(例如分隔符),所以相同的 api+相同的参数,在两种平台上的调用结果可能不一样。...为了解决这个问题,nodejs 也提供了path.win32和path.posix来解决这个问题。 例如,我在我的 mac 上想解析一段 windows 路径格式的数据,拿到它的 basename。
# node 如何获取命令行传来的参数 process 是一个全局变量,它提供当前 Node.js 进程的有关信息,而 process.argv 属性则返回一个数组,数组中的信息包括启动 Node.js...process.argv[1] 当前执行的文件的 JS 文件路径 process.argv.splice(2) 命令行参数 关于获取命令行传来的参数还可以结合 commander 的 commander.parse...对 url 的字符串解析、url 拼接等 url.parse 可以将一个 url 的字符串解析并返回一个 url 的对象 url.format 将传入的 url 对象编程一个 url 字符串并返回 #...,更好的凸显服务端渲染的优势 常见模板引擎 art-templat 号称效率最高的,模版引擎 ejs 是一个 JavaScript 模板库,用来从 JSON 数据中生成 HTML 字符串 pug 是一款健壮...、灵活、功能丰富的模板引擎,专门为 Node.js 平台开发 # node 如何利用多核 CPU 以及创建集群 nodejs 是基于 V8 引擎构建的,一个 nodejs 进程只能使用一个 CPU(一个
模块概览 在nodejs中,path是个使用频率很高,但却让人又爱又恨的模块。部分因为文档说的不够清晰,部分因为接口的平台差异性。 将path的接口按照用途归类,仔细琢磨琢磨,也就没那么费解了。...可以用上第二个参数。...,或者B的第一个字符就是.,那么返回空字符串。...在linux上是/,在windows上是\。 path.delimiter:path设置的分割符。linux上是:,windows上是;。...注意,当使用 path.win32 相关接口时,参数同样可以使用/做分隔符,但接口返回值的分割符只会是\。 直接来例子更直观。
NodeJs命令行工具,提供了用户命令行输入和参数解析,用户解析用户输入 inquirer NodeJs交互式命令行工具,询问操作者问题,获取用户输入,校验回答的合法性 metalsmith...文件处理,读写操作 handlebars 将模板中的变量替换为用户输入,编译模板,类似框架如:artTemplate,Jade path NodeJs的路径操作库,如合并路径...chalk 命令行输出样式美化 具体实现 首先在一个新的文件夹,如xxx-tools下 npm init 创建一个node项目,因为是要做成一个npm包的脚手架,所以在包的取名上一定要唯一.../usr/bin/env node 这个是Linux规范,用来指明了这个执行脚本的解释程序,要是没有这一行,默认用当前Shell去解释这个脚本 在package.json中增加bin配置: "bin":...,会替换其中双括号里的内容 结束的话 这里只是简单的例子,可以沉淀一些业务场景的模板,通过命令行的方式快速的创建,避免复制粘贴,其实本意是学习一下Node的脚手架工具的实现,有兴趣的同学可以看看babel-cli
; let obj = url.parse( requestUrl, true); console.log(obj.query); // 获取get请求的查询字符串...name=nodejs&age=11 get请求 //当存在 post 提交数据 data 事件立马执行,postData就是提交过来的数据对象 request.on('data'...,(postData) => { // 获取post请求的请求参数 console.log(postData.toString()); }); response.write...判断浏览器需要哪个资源文件 let reqUrl = request.url; if (reqUrl === "/") { //读取页面内容 返回信息 let filePath = path.join...else if (reqUrl === "/detail.html" || reqUrl === "/index.html") { //读取页面内容 返回信息 let filePath = path.join
nodejs的运行环境 node安装 使用快捷键(Windows徽标键+ R)打开运行面板,输入cmd 后直接回车,即可打开终端。 node执行js的方式 1....) fs(file system)文件系统 注意:除了global模块中的内容,其他模块在使用时都要先引入 读取文件 语法: fs.readFile('文件的路径', '【可选参数(即编码方式)】...' ,读取文件的回调函数) 读取文件的回调函数: 接收两个参数 错误对象, 如果读取失败了, err会包含错误信息, 如果读取成功了, err 是一个null 读取后返回的数据 (默认是buffer对象...零长度的 path 片段被忽略。 如果连接的路径字符串是零长度字符串,则将返回 '.',表示当前工作目录。...(句点)字符到字符串的结尾。 如果 path的最后一部分中没有 .,或者除了 path 的基本名称(参见 path.basename())的第一个字符之外没有 .个字符,则返回空字符串。
领取专属 10元无门槛券
手把手带您无忧上云