0%

正常安装

在终端执行命令

1
npm i -g electron-prebuilt

可能的错误:

connect ETIMEDOUT 54.231.49.112:443

如果碰到以上错误,就使用其他安装方式

##其他安装方式
到github上下载最新稳定版的electron,下载连接
我下载的版本是 1.1.16
再执行正常安装命令,待出现 node install.js 之后,按下control+c,中断安装。

进入npm全局安装路径,mac为 /usr/local/lib/node_modules。

在 electron-prebuilt 目录下创建 dist 文件夹和path.txt文本文件,

将下载的zip解压后的全部文件放入dist文件夹中

然后在path.txt文件中填入 dist/Electron.app/Contents/MacOS/Electron

目录结构如下
electron.png
然后在终端中输入 electron -v 如果显示版本,那么代表安装成功。

最近在找关于vue的seo方法,就接触到了服务端渲染这块。

关于vue ssr的基础知识我是在 这里 学习的,然后记录一下学习和部署的过程。

安装

首先要安装依赖 Vue 和 vue-server-renderer

1
npm install vue vue-server-renderer --save

开始

创建ssr.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
const Vue = require('vue')
const server = require('express')()
const renderer = require('vue-server-renderer').createRenderer()
server.get('*', (req, res) => {
const app = new Vue({
data: {
url: req.url
},
template: `<div>访问的 URL 是: {{ url }}</div>`
})
renderer.renderToString(app, (err, html) => {
if (err) {
res.status(500).end('Internal Server Error')
return
}
res.end(`
<!DOCTYPE html>
<html lang='en'>
<head><title>Hello</title></head>
<body>${html}</body>
</html>
`)
})
})
server.listen(8080)

运行后,可能会响应403,我们只需更改下端口号就行了。

但是这仅仅是静态的数据,还有我们需要引入文件模板

引入模板

创建一个模板文件 blogger.template.html

1
2
3
4
5
6
7
8
9
10
<html>
<head>
<!-- 使用双花括号(double-mustache)进行 HTML 转义插值(HTML-escaped interpolation) -->
<title>{{ title }}</title>
<!-- 使用三花括号(triple-mustache)进行 HTML 不转义插值(non-HTML-escaped interpolation) -->
</head>
<body>
<div>{{content}}</div>
</body>
</html>

这里直接使用gitbook中的例子,稍作修改

修改ssr.js代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const Vue = require('vue')
const server = require('express')()
const renderer = require('vue-server-renderer').createRenderer()
const fs = require('fs');
const template = fs.readFileSync('./blogger.template.html', 'utf-8')
const conn = require('./mysql')

const app = new Vue({
data: {
listTime: [],
d: {
content: '',
title: ''
}
},
template: template
})

server.get('/blogger.html', (req, res) => {
var id = req.query.id // 获取get参数
var WHERE = ' WHERE id=' + id
var sql = 'SELECT * FROM blogger' + WHERE
conn.query(sql, function (error, result) {
if (result.length > 0) {
var data = result[0]
app.d.title = data.title
app.d.content = data.content
renderer.renderToString(app, (err, html) => {
if (err) {
res.status(500).end('Internal Server Error')
return
}
res.end(html)
})
} else {
res.status(404).end('404')
}
})
})
server.listen(3101)
console.log('http running at 3101...');

部署

将ssr.js部署到服务器上需要用到nginx反向代理

调试

Android

将手机连接至电脑,并且开启USB调试功能,然后在shell中输入

1
react-native run-android

等待apk传输完成后,进入应用,可通过摇动手机来打开开发者菜单
依次选择 Dev Settings –> Debug server host

输入主机IP和端口号(一般是8081)

然后再通过摇动手机,选择Reload即可。

###Debug

Native module VectorIconsModule tried to override VectorIconsModule for module name RNVectorIconsModule.
If this was your intention, set canOverrideExistingModule=true

  1. 进入目录:android->app->src->main->java….
  2. 打开MainApplication.java文件
  3. 查看@ Override下的代码是否有重复,有就删除重复的那一行

可能的原因:执行了多次react-native link。

-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7f000000,endColorstr=#7f000000);

filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7f000000,endColorstr=#7f000000);

rgba透明值 IEfilter值
0.1 19
0.2 33
0.3 4C
0.4 66
0.5 7F
0.6 99
0.7 B2
0.8 C8
0.9 E5

设置Git用户名和邮箱

1
2
git config --global user.name 'Your Username'
git config --global user.email 'email@example.com'

创建本地git仓库

1
2
mkdir <dirname>		//创建目录
git clone <.git> //克隆远程项目到本地

更新代码

1
2
git fetch		//更新本地代码到最新的版本
git merge //将更新后的代码合并到当前分支

分支

1
2
3
4
5
6
7
git branch		//查看分支
git checkout -b <branch name> //创建并切换到分支
git add . //添加全部已修改的文件到暂存区
git commit -m <'comments'> //提交更改
git checkout master //切换回主分支
git merge <branch name> //将指定分支合并到主分支
git branch -d <branch name> 删除指定分支

版本回退

1
2
3
4
git log		//查看详细的历史版本情况
git log --pretty=oneline 查看简略的历史版本情况
git reset --hard HEAD^ //^回退一个版本,^^回退两个版本,以此类推
git reset --hard <ID> /根据版本ID回退(版本ID在git log中可以查看),输入ID的前几位即可

SSH Key

1
ssh-keygen -t rsa -C 'email'		//在本地生成SSH Key