npm

别在js中写后台地址了——用好React/Vue脚手架的环境变量

安稳与你 提交于 2020-08-08 19:12:53
背景 前端开发都少不了对后台的调用,后台地址配置在哪里,是一个很纠结的问题 为此大家开动脑筋,想了不少办法: 在代码中定义一个常量如baseUrl,后台请求时,统一拼上这个baseUrl; 问题:本地、开发、测试、生产环境地址不一样,得反复改地址; 前端与后台代码部署在一个域下,使用相对路径访问后台; 问题:开发阶段本地调试的时候,还是避免不了要用方案一来配置一个baseUrl,且这个改动与代码放在一起,一不小心就提交到代码库,CI打出来的包就不对了。 解决方案 只要是通过React和Vue脚手架创建的项目,都支持配置环境变量,使用方式: 定义环境变量 #React项目.env文件 REACT_APP_BASEURL=https://prod.utcook.com #Vue项目.env文件 VUE_APP_BASEURL=https://prod.utcook.com 在代码中使用 import axios from 'axios'; const baseUrl = process.env.REACT_APP_BASEURL; axios.get("${baseUrl}/api/user/list"); 本地调试时,后台地址不一样怎么办? 有两种方式可以定义本地地址: 1. 通过.env.local文件: #React项目.env.local文件 REACT_APP_BASEURL

【汇总】 为园友写的皮肤制作工具 awescnb

眉间皱痕 提交于 2020-08-08 17:40:15
🎨 Awescnb , awesome cnblog. 简介 可能许多初来乍到的新手会被博客园经典的风格劝退,或者您是一个老园友,需要为您的博客定制一些功能(例如宣传公众号,文章目录、或者插入几个捐助二维码等等)而不想浪费太多时间。我制作这个小项目的目的是园友能够轻易地构建一个 博客园皮肤或完善您的博客页面功能 。它可以用来做以下三件事: 安装: 在您的博客园安装这个项目中已经集成的皮肤.安装之后,可以快速切换其他皮肤. 创建: 快速创建一个的博客园皮肤,通过打包生成文件,供您使用. 分享: 快速创建一个博客园皮肤并将它贡献给项目,园友就能够切换到您的皮肤了. 视频教程 今天周末录制了一个简单视频教程,虽然我在搭建的文档里有写,希望它能帮您更容易上手。视频从博客皮肤的安装、切换、从零开始制作三个方面简单展开。 您可能是非 web 前端从业者,视频中用到的命令您可能会有疑惑,只需要 下载 node 并安装到您的电脑就拥有了一个叫做 npm 的东西(node 包管理器),而视频中使用的 npm xx 命令正是来源于此。 链接 博客皮肤性能优化 构建一个简约博皮的过程 用 webpack 玩转博客园 当前集成的 30+ 插件介绍 手写一个兼容博客园多编辑器的文章目录插件 配置一览 { // 基本配置 theme: { name: 'reacg', color: '#FFB3CC',

vue项目中使用vue-awesome

ⅰ亾dé卋堺 提交于 2020-08-08 14:47:55
公司在项目重构时,遇到图标问题,然后把vue-awesome、iconfont、iconMoon都试了一遍,虽然最终使用了iconMoon但是也要把这两个过程记录一下。 github地址 1.首先安装vue-awesome依赖包 安装方法: 使用npm安装 npm install vue-awesome 使用bower安装 bower install vue-awesome 注意:安装之后打开node_modules文件夹,查看是否有vue-awesome文件夹,如果没有看是否是编辑器太慢的原因,也可以重启一下看是否有该文件 如果还没有表示没有安装成功,需要重新安装 2.在main.js文件下 在github上可以明确看到如果考虑项目大小,只导入用于减少包大小的图标 import 'vue-awesome/icons/flag' 否则 import 'vue-awesome/icons' 这里我不考虑大小使用第二种 然后 import Icon from 'vue-awesome/components/Icon' 全局使用 Vue.component( 'icon',Icon) 这里是我的代码提供参考 接下来就可以去在任何.vue组件中使用了! 这里我在最新刚刚下载好的vue-cli项目中试用一下,看一下效果 <icon name="beer"></icon> 就会看到

Node.js性能分析神器Easy-Monitor

怎甘沉沦 提交于 2020-08-08 14:42:25
摘要: 使用Easy-Monitor,可以准确定位Node.js应用的性能瓶颈,帮助我们优化代码性能。 当应用出现性能问题时,最大的问题在于: 如何准确定位造成性能瓶颈的代码呢? 对于Node.js开发者,这里推荐一下 Easy-Monitor ,它应该是阿里巴巴某个90后程序员开发的。这个NPM模块可以帮助我们快速定位性能瓶颈。 问题 当负载较高时,某个后端模块的 响应时间慢 了很多,甚至出现 超时 错误”504 Gateway Time”。通过查看监控可知,这个模块在高峰期的CPU使用量是满负荷的,这有可能是问题所在。 接入 Easy-Monitor 接入Easy-Monitor非常简单,在入口js文件中导入即可: if (process.env.NODE_ENV === "development") { const easyMonitor = require("easy-monitor"); easyMonitor("backend"); } 启动应用,访问: http://localhost:12333/index ,即可查看Easy-Monitor的UI界面: 采集CPU数据 ab 命令可以用于进行压力测试 ab -n 1000 -c 10 -T 'application/json' -p data.json http://localhost:3000/data/

持续集成-UniApp

依然范特西╮ 提交于 2020-08-08 13:06:06
一个基础的APP构建脚本,大佬请无视本文。作者才疏学浅,只能重复尝试总结经验。 FROM 假的前端工程师 背景 UniApp 官方开发工具 HBX ( HbuilderX 简称)本地打包需要手动导出工程文件然后对于 Android 项目一顿操作。 回想起之前测试追着我这个开发一直要安装包的场景(之前利用 Jenkins 对 IOS 平台项目进行持续集成,但是远不能到达提交代码就可以自动打包生成一个 APP 的地步) 实现的效果 提交代码即可打包(自动流水线操作) 支持在 gitlab-ci.yml 配置打包的证书 支持定义包名 支持自定义 APP 名称 流程阶段 按照传统的思路,即: HbuilderX 生成 APP 资源文件 按照模版生成原生工程替换文件 生成文件替换原生工程文件 Android Studio 打包 其他思路是借助 fastlane 之类的自动化打包工具 部署示例图 NPM 缓存可选 gitlab-ci.yml 文件展示 stages: - build_uniapp_file - rewrite_android_file - replace_android_file - build_app variables: BUILD_TYPE: app-plus # 目前该流程仅可打包APP PackageName: com.harrycode.testbuild23232

[区块链笔记4] truffle部署合约到Ganache

旧时模样 提交于 2020-08-08 12:19:10
文章目录 前言(废话+杂记+感受) 正文前的记录 创建项目 写一个简单的solidity 部署配置文件 truffle编译 部署的最后一步 与合约互动 总结 前言(废话+杂记+感受) 前段时间征集大创,班里两个同学想和我组队,然后我就又拉上一位大佬组起了队。其实到现在也不太清楚大学阶段最后要深入研究那个方向,现在还在各种方向都摸索着,好害怕最后什么都知道一点,但是什么都不精。不太想专门写一篇日志,所以就借着这个周二的早上记录一下叭。言归正传。 用了4天看solidity,第3、4天看的加密僵尸,第6章需要用到javascript、jquery,然后就用了3天去看这个两个语法,顺带着看了看nodejs的相关基础(因为部署的时候需要用到truffle等东西,这些都是和nodejs有一点联系的,比如说truffle就是得用npm来install,但是下载npm最省事的方法就是通过安装node来安装了)。 然后花了1天时间来看truffle的部署,准确的说应该是废了1天,因为这一天啥都没弄明白,只是装好了各种环境而已。 看了一天还是萌萌咚咚,然后想起来CX大佬之前写过一篇关于部署和测试的文章,借鉴了一下。 https://blog.csdn.net/weixin_40788897/article/details/103918598 正文前的记录 加密僵尸那个教程的truffle里好多部署

webstorm ts学习环境

℡╲_俬逩灬. 提交于 2020-08-08 11:19:32
直接运行插件 ts相关依赖 npm i typescript -g 生成配置文件 tsc --init tsconfig配置 ts设为es6,es5后面使用打包工具生成 来源: oschina 链接: https://my.oschina.net/ahaoboy/blog/4296989

package-lock引起的奇妙问题

让人想犯罪 __ 提交于 2020-08-08 10:43:40
前言 一直以来对于npm的印象只停留在包管理工具上,使用起来就是在dependency里加个依赖就完了,一切都很顺利,偶然间发现项目里多出了一个package-lock的文件,但好像也没有什么用,就一直忽略,直到今天遇到问题。 问题现象 测试人员今天下午提了一个bug,并贴心的配合一张图来说明,如下图所示那个图标位置偏右。 我也没多想,感觉就是一个简单的样式问题,领了bug,打开IDE启动开发环境,准备三分钟解决。 定位流程 核实问题 启动了开发环境后,就有点懵逼,咦,我这里是正常的啊,如下图所示。 于是怀疑是不是测试人员的测试环境是不是有问题,让他访问一下我的机器,也是没问题的,我访问了一下测试服务也确实存在偏右的问题。ok,那现在肯定是有问题的了,开始定位。 检查代码一致性 第一步是检查测试线的代码跟master线的代码版本是否一致,因为测试服务是由CI系统构建的,有可能是测试同学的脚本异常,导致版本不一致。但是测试线和master线的hash值完全一致,表明两者的代码是一致的。 然后打开chrome针对每个图标元素对比,测试服务和开发服务的样式,发现测试服务的样式多了一些内容,从代码层面上完全没有找到关联信息。隐隐感觉到不太乐观。 检查环境一致性 第二步就是检查测试环境和开发环境是否一致了,开发环境使用了win10,测试环境则是linux,开发环境是npm run

web3.js支持SimpleChain跨链调用

倖福魔咒の 提交于 2020-08-08 07:41:56
SimpleChain的跨链协议已经对外开放很久了,很多应用也已经慢慢支持Simplechain的跨链。最近社区开发者web3.js中集成了Simplechain的跨链接口,开发者只需用 npm 安装包文件。参考原生 RPC接口 的参数,就可以快速上手接入Simplechain跨链。下面是详细流程; 查看RPC接口 首先我们需要熟悉Simplechain的跨链 接口 ,熟悉了接口以后我们就可以直接上手操作。 安装包文件 首先你需要安装node环境,然后使用npm安装跨链包。命令如下: npm install @sipc/web3 安装完以后就可以在你的工程项目面集成跨链。主要的方法有: getCtxQuery , getCtxOwner , getCtxOwnerByPage , getCtxContent , getCtxContentByPage , ctxGet , ctxGetByNumber , ctxQueryDestValue , getCtxTakerByPage , getCtxStats , getPoolStats 。 使用示例 npm库 const rpcUrl = "http://192.168.4.104:8546" const Web3 = require('@sipc/web3') const web3 = new Web3(new Web3

How can I create a custom smtp server to send out notification emails in Nodejs?

淺唱寂寞╮ 提交于 2020-08-08 06:35:14
问题 My requirement is to send a notification email from my application to any email id , eg: a gmail address. I went through some modules like the smtp-server ,smtp-connection and emailjs This is what I have got till now. var SMTPServer = require('smtp-server').SMTPServer var server = new SMTPServer({ name: 'testDomain.com', authOptional: true, onAuth: function (auth, session, callback) { callback(null, {user: 'sample-user'}) } }) server.on('error', function (err) { console.log('Error %s', err