首页
赞助
时间轴
追番
留言
友人帐
关于
个人导航
更多
学习笔记
壁纸
Search
1
【台式机】2020-06-07,上半年618推荐配置(都是AMD)
953 阅读
2
21年下半年笔记本挑选
918 阅读
3
域名备案成功
789 阅读
4
2020.10 手机号码正则表达式
730 阅读
5
Mybatis缓存
695 阅读
日常
代码
❤心情
博客插件
电脑推荐
KMS服务
登录
Search
标签搜索
电脑推荐
组装电脑
博客插件
跨域访问错误
Maven
Mybatis
node.js
WebSocket
SpringBoot
Linux
跨域
网页背景效果
音乐播放器
看板娘
Pio插件问题
气泡通知
轻薄本
全能本
笔记本推荐
伪静态
旧梦未眠
累计撰写
71
篇文章
累计收到
13
条评论
今日撰写
0
篇文章
首页
栏目
日常
代码
❤心情
博客插件
电脑推荐
KMS服务
页面
赞助
时间轴
追番
留言
友人帐
关于
个人导航
学习笔记
壁纸
用户登录
登录
搜索到
33
篇与
的结果
2020-03-14
Node.js的学习分享、换源和问题
起源:在B站看视频学习Vue,看到一半Vue调用接口,视频中用的node.js做服务端,其实用Java,python,php都有可以。我用java写了后台接口,Eclipse+Tomcat启动方式是真的慢,还占资源,于是突然对node感兴趣,又去看node.js的视频。简介简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。这里照搬菜鸟教程优点非阻塞的I/O正常情况下I/O的操作是阻塞的(ajax同步)高并发特别好详细参考:CSDN为什么要学Node.js一般对于前端开发者,不会后端,但是想部署一些东西,或者需要自己调用接口测试前端之类,上手比较快的服务端。好学吗?用的到吗?就我来说,JS扎实 会javaweb上手还是挺快的 大概5天左右入门 会基础的就行至于用不用的到,用在哪些场景,详细参考:CSDN模块化内置模块(node中提供的,可以直接调用)文件操作第三方模块自定义模块创建一个模块(一个js文件一个模块)导出一个模块(module.exports=name)引用一个模块并调用我为什么要学?只是突然感兴趣。对于现在在学前端的我来说,调用接口比java方便,更轻量级。用什么编辑器其实前端编辑器都可以,我用过HbuliderX,不过语法提示不是很好,而且如果新手不会配置HBuilder的话每次运行都要用cmd窗口所以我换到了Vscode下面就有窗口可以写cmd要注意什么因为node是模块化,所以我建议把模块安装在最外面的目录,子目录会自动往上找去调用模块不用担心。npm换源类似python,npm国外服务器下载也非常慢,可以换成国内的源输入以下代码:npm config set registry http://registry.npmmirror.com还有一种是网上比较多的cnpmnpm install -g cnpm --registry=http://registry.npmmirror.com 都换了源,区别就是第一个指令还是npm,但第二个就是cnpm。推荐第一种方式之后再输入npm config list就可以看下以下信息,已经换好了; cli configs metrics-registry = "http://registry.npmmirror.com" scope = "" user-agent = "npm/6.13.4 node/v12.16.1 win32 x64" ; userconfig C:\Users\84788\.npmrc registry = "http://registry.npmmirror.com" ; builtin config undefined prefix = "C:\\Users\\84788\\AppData\\Roaming\\npm" ; node bin location = C:\Program Files\nodejs\node.exe ; cwd = C:\Users\84788 ; HOME = C:\Users\84788 ; "npm config ls -l" to show all defaults. 基本操作//初始化命令(不是每次都需要执行) npm init --yes //安装模块命令 npm install XXXX --save/npm i XX -s 安装安装教程:菜鸟教程插件部分插件归于问题里面1.session插件-express-session安装命令npm install express-session -s 配置在server.js就行//session配置 app.use(session({ secret:'asfafqwf',//为了安全性的考虑设置secret属性 cookie:{maxAge:60*1000*60*24},//设置过期时间 resave:true,//及时Session没有被修改,也保存session,默认为true saveUninitialized:false//无论有没有session cookie,每次请求都设置session cookie,默认为false })) 问题1.cmd提示不是内部或外部命令环境变量,在系统变量Path中添加C:\Program Files\nodejs\ 2.nodemon是什么运行server后,很多情况下修改了代码需要重启服务,nodemon可以让服务自动更新,nodemon的安装和其他模块不同一点定要全局安装npm install nodemon -g 3.apidoc可以自动生成api文档/** * @api {get} /user/:id Request User information * @apiName GetUser * @apiGroup User * * @apiParam {Number} id Users unique ID. * * @apiSuccess {String} firstname Firstname of the User. * @apiSuccess {String} lastname Lastname of the User. */官网链接:点击访问4.图片上传multer模块安装npm install multer 5.跨域问题express的中间件有个cors安装命令npm install cors -s 调用const express=require('express') const cors=require('cors') const app=express() app.use(cors())其他跨域问题:跨域访问报错
2020年03月14日
464 阅读
0 评论
0 点赞
2020-03-11
Ajax跨域访问报错
首先我们先来看下代码:Access to XMLHttpRequest at 'XXXXXX' from origin 'XXXXXXXXXXX' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present错误原因:本地路径和目标路径不是同一个域名下引起的跨域问题,并且,就算两个域名是同一个一级域名不同二级域名的时候,例如a.baidu.com和b.baidu.com是属于不同域的,也是会出现这个问题出于安全原因,浏览器限制从脚本内发起的跨源HTTP请求。 例如,XMLHttpRequest和Fetch API遵循同源策略。 这意味着使用这些API的Web应用程序只能从加载应用程序的同一个域请求HTTP资源,除非响应报文包含了正确CORS响应头。aspx解决方法在服务器aspx页面头文件里加:<meta http-equiv="Access-Control-Allow-Origin" content="*" /> 详细访问:CSDNJava解决方法1.配置跨域访问的最简单的方式是用通配符 * ,(就是不安全,所有的请求都能跨域),如下代码:response.setHeader("Access-Control-Allow-Origin","*"); 2.这种方式不爽的地方就是前端浏览器不能带cookie信息(前端不能用带cookie的请求模式)如下:response.setHeader("Access-Control-Allow-Origin","*"); response.setHeader("Access-Control-Allow-Credentials","true");//保持跨域 Ajax 时的 Cookie 服务器端 Access-Control-Allow-Credentials = true时,参数Access-Control-Allow-Origin 的值不能为 ‘*’ 。否则不起作用详细查看:CSDNphp解决方法<?php header('Content-Type: text/html;charset=utf-8'); header('Access-Control-Allow-Origin:*'); // *代表允许任何网址请求 header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE'); // 允许请求的类型 header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies header('Access-Control-Allow-Headers: Content-Type,Content-Length,Accept-Encoding,X-Requested-with, Origin'); // 设置允许自定义请求头的字段 if($_GET['name']) { $name = $_GET['name']; echo $name; } else { echo "请求成功但。。。。"; } ?> 原文地址:点击访问Node.js解决方法方法一//设置跨域访问 app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS"); res.header("X-Powered-By",' 3.2.1') res.header("Content-Type", "application/json;charset=utf-8"); next(); }); 原文地址:点击访问方法二 使用express中间件corsconst cors=require('cors') app.use(cors()) 方法三 安装request安装npm install request -s 基本用法//在service中添加request const request=require('request') app.get('/cors',(req,res)=>{ request('http://XXXXXXXX/XXX',(err,response,body)=>{ if(!err){ res.send(body) } }) })
2020年03月11日
431 阅读
0 评论
0 点赞
2020-02-25
关于Typecho伪静态设置【包含Nginx、IIS】
第一种方法 Nginx环境先去typecho设置里开启重写功能,开启失败选择强制开启。在宝塔里面网站点击设置选择伪静态,选择typecho会自动生成代码。if (!-e $request_filename) { rewrite ^(.*)$ /index.php$1 last; } 如果typecho是子目录选择typecho2location /typecho/ { if (!-e $request_filename) { rewrite ^(.*)$ /typecho/index.php$1 last; } } 记得把typecho换成你的目录名方法二 IIS服务器重写web.config重写关键代码:<rewrite> <rules> <rule name="Main Rule" stopProcessing="true"> <match url="^(.*)$" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="XXX/index.php/{R:1}" /> </rule> </rules> </rewrite> 如果Typecho是子目录请修改第9行代码url="XXX/index.php/{R:1}" />XXX是你的目录名web.config完整代码:<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Main Rule" stopProcessing="true"> <match url="^(.*)$" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="XXX/index.php/{R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration> 如果Typecho是子目录请修改第12行代码url="XXX/index.php/{R:1}" />XXX是你的目录名一般空间web.config文件是有配置的请勿删除!把关键代码放在<system.webServer></system.webServer>之间比如下面的有php切换,只需要放在<system.webServer>与平级:<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers> <remove name="PHP-7.2-7i24.com" /> <remove name="PHP-7.1-7i24.com" /> <remove name="PHP-7.0-7i24.com" /> <remove name="PHP-5.6-7i24.com" /> <remove name="PHP-5.5-7i24.com" /> <remove name="PHP-5.4-7i24.com" /> <remove name="PHP-5.3-7i24.com" /> <remove name="PHP-5.2-7i24.com" /> <add name="PHP-5.6-7i24.com" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="c:\php\5.6\php-cgi.exe" resourceType="Either" /> </handlers> <rewrite> <rules> <rule name="Main Rule" stopProcessing="true"> <match url="^(.*)$" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="XXX/index.php/{R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration> 如果Typecho是子目录请修改第23行代码url="XXX/index.php/{R:1}" />XXX是你的目录名部分内容转至:点击访问
2020年02月25日
421 阅读
0 评论
0 点赞
1
...
6
7