node

Node之创建与读取目录

故事扮演 提交于 2020-01-25 02:24:36
创建目录 在fs模块中,可以使用mkdir方法创建目录 fs.mkdir(path,[mode],callback path:用于指定需要被创建的目录的完整路径及目录名; mode:用于指定该目录的权限,默认值为0777(表示任何人可读写该目录); callback:该回调函数中使用一个参数,参数值为创建目录操作失败时触发的错误对象。 同步创建目录 fs.mkdirSync(path,[mode]) 读取目录 在fs模块中,可以使用readdir方法读取目录 fs.readdir(path,callback) path:读取的文件路径 callback:数用于指定读取目录操作完毕时调用的回调函数,在该回调函数中使用两个参数,其中第一个参数值为读取目录操作失败时触发的错误对象,第二个参数值为一个数组,其中存放了读取到的文件中的所有文件名。 同步读取 fs.readdirSync(path) 查看文件或目录的信息 在fs模块中,可以使用stat方法或lstat方法查看一个文件或目录的信息。这两个方法的唯一区别是当查看符号链接文件的信息时,必须使用lstat方法。 fs.stat(path, callback) fs.lstat(path, callback) path:文件路径 callback:在该回调函数中,使用两个参数,其中err参数值为查看文件或目录信息操作失败时触发的错误对象

[转]nodejs导出word

馋奶兔 提交于 2020-01-25 01:18:00
转载自: https://blog.51cto.com/13803916/2133602 需要先下载依赖: npm install officegen 亲测可用: var officegen = require('officegen'); var fs = require('fs'); var path = require('path'); var docx = officegen ( 'docx' ); var async = require('async'); /** * 导出word */ // exports.exportWord = function(req, res) { console.log('exportWord-------------'); docx.on ( 'finalize', function ( written ) { console.log ( 'Finish to create Word file.\nTotal bytes created: ' + written + '\n' ); }); docx.on ( 'error', function ( err ) { console.log ( err ); }); var pObj = docx.createP ( { align: 'center' } );// 创建行 设置居中 pObj

angular8使用杂谈

别说谁变了你拦得住时间么 提交于 2020-01-25 01:05:16
使用bootstrap 1.下载三个组件 npm install jquery --save npm install popper.js --save npm install bootstrap --save 2.在angular.json文件中添加他们 “styles”: [ “src/styles.css”, “./node_modules/bootstrap/dist/css/bootstrap.css” ], “scripts”: [ “./node_modules/jquery/dist/jquery.slim.js”, “./node_modules/popper.js/dist/umd/popper.js”, “./node_modules/bootstrap/dist/js/bootstrap.js” ] 来源: CSDN 作者: ares.zhang 链接: https://blog.csdn.net/qq_39104920/article/details/103778727

单向链表

白昼怎懂夜的黑 提交于 2020-01-24 20:54:42
特点: 插入快删除快 相较于数组 不需要扩容 ,因为他在内存中不是连续的空间 查询和 public class MyLinkedList<E> implements MyList<E> { Node hand = null; class Node { Node next = null; E obj;//保存的数据 public Node(E obj) { this.obj = obj; } } @Override public int size() { int size = 0; Node var1 = hand; while (var1 != null) { size++; var1 = var1.next; } return size; } @Override public boolean add(E obj) { Node node = new Node(obj); if (hand == null) { hand = node; return true; } //从根节点开始,找到下个节点为空的对象 Node var1 = hand; while (var1.next != null) { var1 = var1.next; } //关联数据 var1.next = node; return true; } @Override public boolean remove(E

vue的服务器端渲染

余生长醉 提交于 2020-01-24 20:42:49
0. 服务端渲染简介 服务端渲染不是一个新的技术;在 Web 最初的时候,页面就是通过服务端渲染来返回的,用 PHP 来说,通常是使用 Smarty 等模板写模板文件,然后 PHP 服务端框架将数据和模板渲染为页面返回,这样的服务端渲染有个缺点就是一旦要查看新的页面,就需要请求服务端,刷新页面。 但如今的前端,为了追求一些体验上的优化,通常整个渲染在浏览器端使用 JS 来完成,配合 history.pushState 等方式来做单页应用(SPA: Single-Page Application),也收到不错的效果,但是这样还是有一些缺点:第一次加载过慢,用户需要等待较长时间来等待浏览器端渲染完成;对搜索引擎爬虫等不友好。这时候就出现了类似于 React,Vue 2.0 等前端框架来做服务端渲染。 使用这些框架来做服务端渲染的兼顾了上面的几个优点,而且写一份代码就可以跑在服务端和浏览器端。Vue 2.0 发布了也有一段时间了,新版本比较大的更新就是支持服务端渲染,最近有空折腾了下 Vue 的服务端渲染,记录下来。 1. 在 Vue 2.0 中使用服务端渲染 官方文档给了一个简单的例子来做服务端渲染: // 步骤 1:创建一个Vue实例 var Vue = require('vue') var app = new Vue({ render: function (h) { return

node服务通过Jenkins上线流程

非 Y 不嫁゛ 提交于 2020-01-24 19:02:45
构建流程 构建服务器: 拉取指定分支代码 构建服务器: 安装依赖 构建服务器: 执行构建 构建服务器: 如果上线流程,则在 git 上创建 tag,供回滚使用 构建服务器:打包 node 服务代码,和静态资源代码 测试环境上线 构建服务器:执行构建 jenkins:拉取打包好的静态资源和 node 服务代码 jenkins: 静态资源部署到测试服务器 jenkins: node 服务代码上传到测试服务器 测试服务器:启动服务(需要 root 权限来设置 host ) 沙箱环境上线 同测试环境上线流程 线上环境上线 构建服务器: 执行构建 jenkins:拉取打包好的静态资源和 node 服务代码 jenkins:静态资源代码上传到线上 jenkins:CDN 刷新 jenkins:node 服务代码上传到线上 线上机器:启动服务 项目约定与构建参数 发布流程的使用方式 传入代码分支与目标机器,服务即可部署到指定机器 项目约定 为了自动化程序能够顺利对项目进行构建,需要项目提供以下接口,接口命令可以为空,但是入口必须存在。 npm install 安装项目依赖,安装后的目录在项目根目录下的 node_modules 目录中,如果有其他依赖需要安装,需要在 postinstall 或 preinstall 中写明。安装阶段构建工具只调用 npm install 一条命令。 npm

剑指offer 从尾到头打印链表

情到浓时终转凉″ 提交于 2020-01-24 18:57:41
题目 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 思路1 最简单的方法,直接按顺序遍历,然后利用Collections函数转置。 import java.util.*; public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode node) { ArrayList<Integer> ans=new ArrayList(); if(node==null) return ans; while(node!=null){ ans.add(node.val); node=node.next; } Collections.reverse(ans); return ans; } } 思路2 因为是倒叙输出,所以利用栈的先进后出的特性。 import java.util.*; public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode node) { ArrayList<Integer> ans=new ArrayList(); Stack<Integer> stack=new Stack(); while(node!=null) { stack.push(node

【年前最后一波装逼】记一次阿里面试,我是如何用一行代码解决约瑟夫环问题的

Deadly 提交于 2020-01-24 18:25:44
约瑟夫环问题算是很经典的题了,估计大家都听说过,然后我就在一次笔试中遇到了,下面我就用 3 种方法来详细讲解一下这道题,最后一种方法学了之后保证让你可以让你装逼。 问题描述:编号为 1-N 的 N 个士兵围坐在一起形成一个圆圈,从编号为 1 的士兵开始依次报数(1,2,3...这样依次报),数到 m 的 士兵会被杀死出列,之后的士兵再从 1 开始报数。直到最后剩下一士兵,求这个士兵的编号。 1、方法一:数组 在大一第一次遇到这个题的时候,我是用数组做的,我猜绝大多数人也都知道怎么做。方法是这样的: 用一个数组来存放 1,2,3 ... n 这 n 个编号,如图(这里我们假设n = 6, m = 3) 然后不停着遍历数组,对于被选中的编号,我们就做一个标记,例如编号 arr[2] = 3 被选中了,那么我们可以做一个标记,例如让 arr[2] = -1,来表示 arr[2] 存放的编号已经出局的了。 然后就按照这种方法,不停着遍历数组,不停着做标记,直到数组中只有一个元素是非 -1 的,这样,剩下的那个元素就是我们要找的元素了。我演示一下吧: 这种方法简单吗?思路简单,但是编码却没那么简单,临界条件特别多,每次遍历到数组最后一个元素的时候,还得重新设置下标为 0,并且遍历的时候还得判断该元素时候是否是 -1。感兴趣的可以动手写一下代码,用这种数组的方式做,千万不要觉得很简单

13 vue学习 package.json

邮差的信 提交于 2020-01-24 15:19:06
一:package.json文件详解   管理你本地安装的npm包 。定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。 npm install 命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。 { "name": "vue2-manage", "version": "1.0.1", "description": "vue2-manage", "author": "cangdu <1264889788@qq.com>", "license": "GPL", "private": true, "scripts": { "dev": "cross-env NODE_ENV=online node build/dev-server.js", "local": "cross-env NODE_ENV=local node build/dev-server.js", "build": "node build/build.js", "unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run", "e2e": "node test/e2e/runner.js", "test": "npm run unit && npm run

NodeJS require路径

半世苍凉 提交于 2020-01-24 14:36:52
项目需要用nodejs,感觉nodejs是前端装逼神器了,是通向全栈工程师的必经之路哇,接下来开始踏上学习nodejs的征程。下面是第一个hello,world的程序。 1、server.js文件,这相当于服务器脚本。 var http = require("http"); function start() { function onRequest(request, response) { console.log("Request recieved") response.writeHead(200, { "Content-Type": "text/plain" }); response.write("hello,world"); response.end(); } http.createServer(onRequest).listen(8888); } exports.start=start; 这是最简单的一个模块,http是nodejs自带的模块,start是自己定义的一个模块。 2、index.js。这是执行文件,注意require的路径。 var server=require("./module/server"); server.start(); 在项目目录下用node运行node index.js,然后在浏览器中输入:http://localhost