学会如何获取 package.json 3. 学到 import.meta 4. 学到引入 json 文件的提案 5. JSON.parse 更友好的错误提示 6....场景 优雅的获取 package.json 文件。...用最新的VSCode 打开项目,找到 package.json 的 scripts 属性中的 test 命令。鼠标停留在test命令上,会出现 运行命令 和 调试命令 的选项,选择 调试命令 即可。...判断读取的 package.json 的 name 属性与测试用例的 name 属性是否相等。 判断读取 package.json 的 _id 是否是真值。 同时支持指定目录。...分别是用 fsPromises.readFile fs.readFileSync 读取 package.json 文件。 用 parse-json[15] 解析 json 文件。
①node实现终端命令行 ②终端命令行交互 ③深copy整个文件夹 ④nodejs执行终端命令 如 npm install ⑤建立子进程通信 ⑥webpack底层操作,启动webpack,合并配置项 ⑦...'发起读取文件'是在'读取文件完成'之前输出的,说明用readFile读取文件过程是异步的,这样的意义在于,在node中,我们可以在语言层面很自然地进行并行的I/O操作。...③ 复制模版生成项目:选择好了项目模版,首先我们遍历整个template文件夹下面所有文件,判断子文件文件类型,如果是文件就直接复制文件,如果是文件夹,创建文件夹,然后递归遍历文件夹下子文件,重复以上的操作...}) }) }) } 这一步实际流程很简单,就是读取template中的package.json文件,然后根据模版替换,接下来重新在目标目录中生成package.json...,首先用 fs.readdir读取template文件夹下面的文件,然后通过 fs.stat读取文件信息,判断文件的类型,如果当前文件类型是文件类型,那么通过读写流fs.createReadStream
第2步会判断是否为官方模板,官方模板则会从官方github仓库中下载模板到本地的默认仓库下,即根目录下.vue-templates文件夹下。...第3步则读取模板目录下meta.js或者meta.json文件,根据里面的内容会询问开发者,根据开发者的回答,确定一些修改。 根据模板内容以及开发者的回答,渲染出项目结构并生成到指定目录。...他会在当前目录下生成一个package.json文件。 bin文件的作用: 很多包都有一个或多个可执行的文件,希望放在PATH中,(实际上,就是这个功能让npm可执行的)。...fs:node内置的文件处理模块。 path:node内置的路径处理、解析模块。 child_process:node中创建子进程模块。...做的事就是自动化,从耗时的重复性常规动作里解放出来 const child_process = require('child_process');// child_process 创建异步进程(子进程)
版本, 感兴趣可以尝试一下. 6. nodejs如何创建定时任务 定时任务在后端开发中是很常见的功能之一, 其本质是根据时间规则,系统在后台自动执行相应的任务....@babel/plugin-proposal-decorators @babel/preset-env 此时就可以想写前端项目一样使用这些新语法特性啦~ 8. nodejs中优雅的处理json文件以及提高...另一方面, 我们在node 端操作json, 如果用原生的写法会非常麻烦, 此时我们最好自己对json读取进行封装来提高代码的简约性, 或者我们直接使用第三方库jsonfile 来轻松读写json文件,...(fileName) 9. nodejs读取大文件报错解决方案 在nodejs中 我们可以使用两种方式来读写文件, 如下: fs.readFile() 一次性将文件读取进内存中, 如果文件过大会导致node...模块的exec, 具体实现可以参考文章: 基于NodeJS从零构建线上自动化打包工作流(H5-Dooring特别版) 这里写一个简单的例子: const cmdStr = `cd ${outWorkDir
source github或者gitee地址 我这里去克隆了我的github分支,没有创建分支和上传的可以从原先电脑中将资源文件拷贝过来。...在新设备上安装node JS后修改全局安装和缓存的路径 #这里修改成nodeJS目录 npm config set prefix "E:\nodejs" --nodejs会自动寻找该路径下的 node_modules...文件夹为实际存放全局模块的路径,这也是为啥叫prefix不叫global的原因;以 后安装的全局模块都会被放到D:\Program Files\nodejs\node_modules下,跟npm模块在...一个文件夹中 npm config set cache"E:\nodejs\node_cache" 修改后执行查看命令npm config ls查看修改结果 修改npm源 npm install...ssh-keygen -t rsa -C "email" 会在本地生成一个.ssh的文件夹,打开公钥并复制。然后去github在设置里面添加即可。
Nodejs生态圈很强大,第一个原因就是NPM,因为全球有无数的程序员在NPM中贡献了自己的力量。...安装Express 新建一个文件夹,然后运行: npm init初始化,一直按回车,它会自动生成package.json 文件,这个后面再说这个文件的作用。...有,nodejs提供了一个机制叫package.json。 他是一个文件,他可以记住所有安装的包的信息,包括名称、版本信息。 如果我们迁移项目,我们就能够知道安装了什么包。...package.json就是记录所有安装的包的信息的文件。 生成方法 运行npm init初始化一个项目。...他会让你回答一些关于这个项目的信息,一直按回车,因为这些信息后面可以改,最开始使用默认的就好。 ? 然后就会生成一个package.json的文件。 ?
为了避免环境变量出现额外的问题,winodows用户将nodejs统一安装在c盘中,mac电脑直接安装。...,如果这个字段为空的话,默认会从当前目录的READMD.md或README文件读取第一行内容作为它的默认值。...scripts: 定义一些常用命令入口 关于最后一个英文的意思,我们可以证明,当我执行npm init之后,会自动的生成package.json的文件。...0x04 NPM安装模块 使用npm install会读取package.json文件来安装模块。...执行以上命令,便可以安装对应的包到执行命令的当前目录,并创建一个node_modules的文件夹,然后把需要安装的安装包下载到里面。 打开package.json文件会发现: ?
Path 处理文件路径,如返回目录名字,文件名,扩展名… stream 流操作,如读取文件返回客户端,可以读一点发一点,这与readFile进行区分,readFile是整个文件读取 timer 定时器...Nodejs包管理器 提供统一的下载途径,如在软件管家中下载软件 自动下载依赖,就像平时使用某些软件时需要.net framework4.5这样的依赖 node_modules文件夹:.../“,从当前目录找 2、如果没有”./",先从系统模块找,找不到,再从node_modules找,因为系统模块的优先级更高 故,约定一下,自定义模块都放在 node_modules文件夹中。...version),描述(description),及主文件(入口地址,默认index.js)等等,结束后会生成一个结构 确认后,在目录下生成package.json npm publish发布 注意,如果当前版本改动之后需要再次上传至...npm --force unpublish强制删除当前package.json中的版本号,需谨慎!
npm root -g 批量下载 我们从网上下载某些代码,发现只有package.json,没有node_modules文件夹,这时我们需要通过命令重新下载这些js库....进入目录(package.json所在的目录)输入命令 npm install 此时,npm会自动下载当前目录下package.json中依赖的js库....我们可以使用 NPM 生成 package.json 文件,生成的文件包含了基本的结果。...使用 package.json node_modules文件夹用于存放下载的js库(相当于maven的本地仓库) package-lock.json是当 node_modules 或 package.json...发生变化时自动生成的文件。
笔者接下来将通过对H5-Dooring项目中的实时在线下载代码功能来带大家掌握如何从零构建线上自动化打包工作流。...好在nodejs设计支持子进程, 我们可以把耗时任务放入子进程中来处理,当子进程处理完成之后再通知主进程. 整个流程如下图所示: ?...会将页面的json schema数据传给node服务器, node服务器再将json schema进行数据清洗最后生成template.json文件并移动到H5 Template母版中,此时母版拿到数据源并进行打包编译...为了实现以上过程,我们需要两个关键环节: 将用户配置的数据进行处理并生成json文件,然后移动到H5 Template母版中 在母版中自动执行打包编译脚本 第一个环节很好实现,我们只需要用nodejs的...当我们将json数据生成到H5 Template中之后,就可以进行打包了,但是这个过程需要自动化的去处理,不能像我们之前启动项目一样,手动执行npm start或者yarn start。
Node 自带了交互式解释器,可以执行以下任务: 读取 - 读取用户输入,解析输入了Javascript 数据结构并存储在内存中。...var express = require('express'); 全局安装与本地安装 npm 的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已...我们可以使用 NPM 生成 package.json 文件,生成的文件包含了基本的结果。...(yes) yes 以上的信息,你需要根据你自己的情况输入。在最后输入 “yes” 后会生成 package.json 文件。...例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。这样在执行代码时就没有阻塞或等待文件 I/O 操作。
笔者接下来将通过对H5-Dooring项目中的实时在线下载代码功能来带大家掌握如何从零构建线上自动化打包工作流。...好在nodejs设计支持子进程, 我们可以把耗时任务放入子进程中来处理,当子进程处理完成之后再通知主进程....会将页面的json schema数据传给node服务器, node服务器再将json schema进行数据清洗最后生成template.json文件并移动到H5 Template母版中,此时母版拿到数据源并进行打包编译...以上的过程很关键, 这里笔者画个大致的流程图: 为了实现以上过程,我们需要两个关键环节: 将用户配置的数据进行处理并生成json文件,然后移动到H5 Template母版中 在母版中自动执行打包编译脚本...当我们将json数据生成到H5 Template中之后,就可以进行打包了,但是这个过程需要自动化的去处理,不能像我们之前启动项目一样,手动执行npm start或者yarn start。
-v 4.2.0 3.3 使用 npm 命令安装模块 npm 的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如 npm install...通常我们用于从一个流中获取数据并将数据传递到另外一个流中。 以下实例我们通过读取一个文件内容并将内容写入到另外一个文件中。...length - 要从文件中读取的字节数。 position - 文件读取的起始位置,如果 position 的值为 null,则会从当前文件指针的位置读取。...6)path.dirname(p)返回路径中代表文件夹的部分,同 Unix 的dirname 命令类似。 7)path.basename(p[, ext])返回路径中的最后一部分。...for " + pathname + " received."); // 从文件系统中读取请求的文件内容 fs.readFile(pathname.substr(1)
gulp是基于Nodejs的自动任务运行器, 她能自动化地完成 javascript/coffee/sass/less/html/image/css 等文件的的测试、检查、合并、压缩、格式化、浏览器自动刷新...npm install 此命令读取package.json文件并安装所需的所有依赖项。...在这个例子中,我们指的是以“.scss”结尾的“scss /”文件夹中的所有文件。...第一个表示包括在子文件夹在内所有文件夹中以“.scss”结尾的文件,第二个表示排除以“_”开头的文件。。这样我们可以使用SCSS的内置函数@import来连接_page.scss文件。...最后,您可以使用gulp-rename将“.min”后缀添加到生成的文件中。
而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器,NodeJS就相应提供了fs、http等内置对象。...,npm install 命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境 package.json 文件就是一个json文件,该对象的每一个成员就是当前项目的一项设置。...package.json 文件可以手工编写,也可以使用npm init命令自动生成。...,在项目中执行npm install的时候,npm 会检查在根目录下有没有npm-shrinkwrap.json文件,如果有,则使用它来确定安装各个包的版本号信息。...('bar'); 有时候,一个模块本身就是一个目录,目录中包含多个文件,这时候,Node在package.json文件中,寻找main属性所指明的模块入口文件。
背景 家里或者公司分配了一个公网IP,但它每过1周就变了,如果我要用它远程桌面,意味着一周就要改一次IP,记一个新的IP,非常复杂,该如何用一个固定的地址来替代这些变化的IP并且实现定时自动替换呢?...替代的办法就是动态解析,用一个别名代替变换的IP 而如上,别名就是域名,用一个固定的域名,解析到这些IP,即可实现DDNS 原理 基本流程就是获取公网IP,然后修改某个域名的解析为获得的IP 流程图如下...image.png 教程 准备 环境 需要下载Nodejs:Node.js 中文网 (nodejs.cn) 在命令行运行 node-v 以及 npm -v 如果都能正常输出即可 新建项目 新建一个文件夹...,比如ddns1,就是ddns1.arirs.cn TTL 否 Integer TTL,免费版默认600s 在上表中,可以直接得到的信息除了RecordId,其它都可以直接从控制台得到 RecordId...,输入进去 image.png 切换到代码生成这一栏,选择Nodejs image.png 把代码复制下来,除了第一行原来的引用要换为 const tencentcloud =require("tencentcloud-sdk-nodejs-dnspod
install -g 将包安装到全局环境中 但是代码中,直接通过require()的方式是没有办法调用全局安装的包的。...2.1.2 npmview 2、npm view moduleNames:查看node模块的package.json文件夹 注意事项:如果想要查看package.json文件夹下某个标签的内容...npmhelp 4、npm help:查看帮助命令 8、npm help folders:查看npm使用的所有文件夹 13、一个npm包是包含了package.json的文件夹...,package.json描述了这个文件夹的结构。...访问npm的json文件夹的方法如下: $ npm help json 此命令会以默认的方式打开一个网页,如果更改了默认打开程序则可能不会以网页的形式打开。
两个好的建议主要是来自cnodejs.org 1、关于读取配置文件,降低效率的问题 用户名:kamaliang 建议:每次请求时都要对router.json进行readFileSync?...解释:这样会影响系统的效率,如何避免这个问题呢?我采用的方法是通过使用一个静态全局变量,第一次需要读取配置文件,第二次就直接从全局变量获取!...提供的文件名:(在core文件夹下)log.js Module名中exports的函数名:addLog 参数 errorCode : 错误码 myErrorMsg : 错误信息 errorJson :...readFileSync同步读取文件内容 lstat查询是否有该文件存在 createWriteStream创建一个文件 writeFile重写一个文件 请教的问题:nodejs有没有提供是不重写文件的...api,writeFile是重写文件的,因此我每次需要去读取文件信息,然后重新写进去,会导致效率下降!
[添加配置] 之后 vscode 会在打开项目路径中帮我们新增.vscode/launch.json文件, 文件中已经补充了最基础的配置. { // 使用 IntelliSense 了解相关属性。...如读取package.json中的scripts字段并进行配置, 所以默认配置不一定都相同. { "type": "node", "request": "launch", "name": "...很多时候生成的构建配置如果不符合我们的预期, 而又没办法一眼看出问题所在时, 我们就可以对生成配置的过程进行调试....build/vue.config.js. cwd 可指定在某一文件夹下执行启动命令....而launch则可以理解为, vscode 帮我们以 debug 模式来运行程序, 并自动把 vscode 的 debuggerattach到运行的进程中.
前段时间做了一个 nodejs 应用,项目架构是 前端 vue 单页应用,后端 nodejs 其实有考虑 ssr,但是因开发时间比较紧张,就没能使用。 下面是开发过程中的一些经验以及遇到的一些问题。...- node_module/ # 前端文件依赖包 - src/ # 前端代码源码 - webpack/ # 构建工具 - package.json # 前端依赖包文件 mock/ # mock数据,...# 后端依赖包文件 package.json # 公共项目依赖包文件 三、技术要点 promise、async await promise、async、await都属于javascript基础,这里略过...npm依赖模块 而执行build.sh的时候脚本是同步的,但是只针对脚本内的总命令,不包括子命令 导致npm安装变成异步执行了,在npm未安装完成的情况下执行npm run build导致报错 解决办法...问题原因: 新的预发环境nginx配置了缓冲,缓冲过小的时候nginx会将数据写入硬盘,而此时如果没有硬盘文件夹的读取权限,就会出现请求数据被截断的情况。
领取专属 10元无门槛券
手把手带您无忧上云