首页
更多应用
Search
1
修改iview的标签为i-的形式而不是驼峰的形式
2,791 阅读
2
PHP微信和企业微信签名
2,522 阅读
3
在VUE中怎么全局引入sass文件
2,223 阅读
4
vscode硬件占用较高解决方案
2,017 阅读
5
解决Macos下storm系列IDE卡顿的问题
1,975 阅读
默认分类
JS
VUE
CSS
mac使用技巧
React
fastmock
登录
/
注册
Search
标签搜索
react
js
vue
vscode
nodejs
项目
代码
webpack
工具
nginx
小程序
css
fastmock
eslint
npm
http
vue-cli3
git
浏览器
const
fastmock技术社区
累计撰写
102
篇文章
累计收到
26
条评论
首页
栏目
默认分类
JS
VUE
CSS
mac使用技巧
React
fastmock
页面
更多应用
搜索到
7
篇与
的结果
2023-02-22
windows系统下npm全局命令无法执行解决办法
如题,一般我们刚安装的windows操作系统,前往nodejs官网下载nodejs安装包后,windows下默认没有node和npm指令。这是因为我们的windows系统还没有添加nodejs环境变量,所以找不到路径。这时候需要将nodejs的安装路径添加到环境变量的 Path 变量中。如我的路径C:\Program Files\nodejs这时候,再回到cmd或者powershell,命令行就可以执行 node 命令了。但是还不能执行使用npm安装的全局包的命令。如 cnpm,nvm,nrm 等,解决办法如下1、使用 npm config get prefix 找到npm全局包的安装路径,如我的电脑输出路径为C:\Users\Administrator\AppData\Roaming\npm将这个路径也添加到环境变量 Path 中,重启cmd或powershell命令行工具就可以了。如果进行了上面的配置还是不行,并且控制台打印如下内容[](//upload-images.jianshu.io/upload_images/24769119-157c81028621d8b8.png?imageMogr2/auto-orient/strip|imageView2/2/w/979/format/webp)这是因为windows的安全策略禁用了当前目录下的命令解决方案如下1、在系统中 搜索框 输入 PowerShell 或者 右击任务栏的电脑图标,找到 Windows PowerShell(管理员);2、点击“管理员身份运行”;3、输入 set-ExecutionPolicy RemoteSigned 回车;4、根据提示内容,输入A跳过后面的步骤确认,回车等待执行结束;5、重启控制台 输入 cnpm --version 执行就可以成功了。
2023年02月22日
316 阅读
0 评论
0 点赞
2023-01-12
使用ua-parser库处理userAgent判断微信授权登录支持的浏览器
平时我们在js中判断浏览器名称和版本都是通过解析userAgent字符串来判断,但是自己挨着用字符串判断始终不能保证处理的准确性,这种时候就可以考虑找找社区有没有比较成熟的解析库了,成熟的库优势就是经过比较漫长的迭代沉淀,且根据用户反馈做了更多的优化调整。对于ua解析库,比较成熟的就是 ua-parser 了,ua-parser 有很多语言版本,支持 python php golang 等,前端直接使用 ua-parser-js 就可以了import UAParser from 'ua-parser-js'; const WECHAT_SUPPORT_DEVICE = [ { // 微信内 webview browser: 'wechat', }, { // uc浏览器 browser: 'ucbrowser', }, { // qq 浏览器 browser: 'qqbrowser', }, { // ios safari 浏览器 browser: 'mobile safari', os: 'ios', }, ]; function isWechatSupportDevice(): boolean { const parser = new UAParser(navigator.userAgent); // you need to pass the user-agent for nodejs const parserResults = parser.getBrowser(); const browserName = parserResults.name; console.log(browserName); const isValid = WECHAT_SUPPORT_DEVICE.some((item) => item.browser === browserName.toLowerCase()); return isValid; },
2023年01月12日
315 阅读
0 评论
0 点赞
2022-02-27
express框架下获取用户真实ip地址
1、配置nginx在http,或者 server 或者 location 中加入如下配置proxy_set_header Host $proxy_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr;2、nodejs 获取方法var ip = req.headers['x-real-ip'] || req.connection.remoteAddress;
2022年02月27日
371 阅读
0 评论
0 点赞
2021-02-05
前端随时随地静态服务器 anywhere 真的是个好名字
如今 SPA 盛行的今天,你有没有过这样的烦恼,当你 build 一个项目到了 dist 或者 build 目录,生成了一个静态文件 index.html 时 , 你希望能校验一下这个文件在服务器上然后被用户访问时实际的效果,并且要是真实环境一样的根目录的方式,这时候你就希望能快速启动一个服务能支持 html 文件,又不希望去做过多的配置。这里推荐一个 nodejs 命令行应用 anywhere ,它真的像它的名字一样,可以让你在你的电脑命令行工具中,任意位置快速启动一个服务器,无需任何配置,一条命令轻松解决首先,保证你的电脑已经安装了 nodejs 环境 怎么检查是否安装?问度娘。打开命令行工具 执行命令npm i -g anywhere 安装 anywhere 工具。等待安装完成。。。执行 anywhere --help 检查是否安装成功,如果安装成功,会打印如下信息Usage: anywhere --help // print help information anywhere // 8000 as default port, current folder as root anywhere 8888 // 8888 as port anywhere -p 8989 // 8989 as port anywhere -s // don't open browser anywhere -h localhost // localhost as hostname anywhere -d /home // /home as root anywhere -l // print log anywhere -f // Enable history fallback在命令行中随便进个目录,执行anywhere即可以默认配置启动一个服务器,如果成功,会打印如下信息Running at http://10.7.129.33:8000/ Also running at https://10.7.129.33:8001/如果这个目录下有 文件,那你就可以直接在启动成功后的地址后面加上 /文件 访问了,例如 http://10.7.129.33:8000/test.txt当然,如果这个文件是一个 html ,浏览器就会把它解析成网页了。具体可指定的选项,参考上面的 help 就可以了,是不是很简单?,名字也很好记,anywhere ,随便在哪里都可以。
2021年02月05日
398 阅读
0 评论
0 点赞
2020-12-23
gitbook出现TypeError: cb.apply is not a function解决办法
执行gitbook serve的时候出现如下错误> fastmock-doc@1.0.0 serve /Users/gongminghua/Public/03private/fastmock-docs > gitbook serve Live reload server started on port: 35729 Press CTRL+C to quit ... /usr/local/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js:287 if (cb) cb.apply(this, arguments) ^ TypeError: cb.apply is not a function at /usr/local/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js:287:18 at FSReqCallback.oncomplete (fs.js:169:5) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! fastmock-doc@1.0.0 serve: `gitbook serve` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the fastmock-doc@1.0.0 serve script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /Users/gongminghua/.npm/_logs/2020-12-23T02_00_45_660Z-debug.log 按照提示中的路径,/usr/local/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js 打开polyfills.js文件,找到这个函数function statFix (orig) { if (!orig) return orig // Older versions of Node erroneously returned signed integers for // uid + gid. return function (target, cb) { return orig.call(fs, target, function (er, stats) { if (!stats) return cb.apply(this, arguments) if (stats.uid < 0) stats.uid += 0x100000000 if (stats.gid < 0) stats.gid += 0x100000000 if (cb) cb.apply(this, arguments) }) } }在第62-64行调用了这个函数fs.stat = statFix(fs.stat) fs.fstat = statFix(fs.fstat) fs.lstat = statFix(fs.lstat)把这三行代码注释掉就解决报错了
2020年12月23日
374 阅读
0 评论
0 点赞
2020-01-03
express框架中session持久化存储
在web开发中,我们经常后听到前端程序员的依据抱怨"又重启了啊?我又要重新登录",这是因为在传统的web开发中,服务器一旦关机,内存中的会话信息会丢失,就跟前端开发存在变量中的数据,浏览器刷新后会丢失一样。为了解决这个问题,引入了session持久化的概念,将服务端和客户端的会话信息保存到一个载体中,不管服务器怎么重启,只要载体中的信息没有丢失,就能拿到会话信息,载体一般为数据库或者文件,但是,得益于redis的特性,我们一般选择用redis作为存储载体。下面是nodejs中用redis做session持久化的例子// app.js var session = require('express-session'); var RedisStore = require('connect-redis')(session); var radisOptions = { 'host': 'localhost', 'port': '6379', 'ttl': 7200, // 存储时间,单位秒,这个时间要和下面session中间件的cookie选项时间一致 'logErrors': false }; var sessionOptions = { secret : 'secret', // 对session id 相关的cookie 进行签名 resave : true, rolling: true, saveUninitialized: true, // 是否保存未初始化的会话 cookie : { maxAge : 1000 * 60 * 60 * 2, // 设置 session 的有效时间,单位毫秒 这里设置两小时 }, }; // 生产环境开启持久化存储 if (config.get('enviroment') === 'prod') { sessionOptions.store = new RedisStore(radisOptions) } app.use(session(sessionOptions));
2020年01月03日
557 阅读
0 评论
0 点赞
2019-01-02
nodemon+cross-env+config实现支持热更新的能根据不同环境加载不同配置的nodejs环境
nodejs项目中我们经常会用到nodemon启动项目以使我们的项目在开发时支持热更新,修改了代码后不需要手动重启服务器;使用npm 的config模块实现不同的环境(一般是develop,production,test);nodemon和config的使用方法这里不做详细介绍。cross-env的作用是不需要全局配置NODE_ENV在scripts脚本中修改NODE_ENV的值从而实现不同环境中proccess.env.NODE_ENV的不同,而config的工作原理就是基于NODE_ENV这个值的,所以推荐两者结合使用。先上三个工具结合使用后的配置文件。/package.json"scripts": { "dev": "nodemon ./bin/www --exec babel-node --presets es2015,stage-2", "start": "cross-env NODE_ENV=production babel-node ./bin/www --presets es2015,stage-2" }, "dependencies": { // ... other dependencies "config": "^3.0.1", "cross-env": "^5.2.0", // ... other dependencies }, "devDependencies": { // ... other devDependencies "nodemon"/nodemon.json{ "restartable": "rs", "ignore": [ ".git", "f2e", "node_modules/**/node_modules" ], "verbose": true, "execMap": { "js": "node --harmony" }, "events": { "restart": "osascript -e 'display notification \"App restarted due to:\n'$FILENAME'\" with title \"nodemon\"'" }, "env": { "NODE_ENV": "develop" }, "ext": "js,json" }nodemon的配置文档介绍的可以在scripts中一一配置,也可以在上面的配置文件中配置,我们建议在配置文件中配置,清晰明了还好管理。nodemon.json中跟本文相关的配置就是env->NODE_ENV配置项,他的值就对应设置了node环境中proccess.env.NODE_ENV的值,当执行npm run dev 时,proccess.env.NODE_ENV对应的是nodemon的配置文件中的值当执行npm run start 时, proccess.env.NODE_ENV对应的是cross-env设置的参数的值
2019年01月02日
878 阅读
0 评论
0 点赞