英文原文
对于Angular的下一个版本的过多信息,我们并不知情,但我们现在知道它会在10月份正式发布。


官方计划点击这里

1
ng5将会是更好的ng,你将能够使用起来更轻松

ng4带来的其中一个变化是,在AOT编译模式下,体积更小,速度更快,他们的目标是减小组件生成的代码体积达60%。
ng5将会更好,Minar保证,ng5将会比ng4更小更快,ng4到ng5的更新将会很流畅,并且编译也会更为简单。因为JIT与AOT的编译区别是令人懊恼的。后者将会成为缺省项,从而减少冲突。

Long-Term Support(LTS)支持

阅读全文 »

结合形式

  1. 安卓手机+MAC笔记本-itools
  2. 安卓手机+Win笔记本-screen
  3. iPhone手机+MAC笔记本-自带quicktime
  4. iPhone手机+Win笔记本-itools

下载地址

nativescript是个跨平台开发框架,号称性能只比原生差10%,同时又支持Angular写法,这对于有web及ng开发人,算是足够有诱惑力啦。

环境搭建

Node安装

node安装具体直接到官网吧点击这里

建议:

阅读全文 »

在实际开发中,遇到这样一个问题,公司服务是GitLa,自己的业余项目开发用到了GitHub,两者的账户不同,以我为例,公司邮箱he@company.com,GitHub是个人邮箱he@1991421.cn,我并不想使用同一个Key,希望对于不同的Git服务使用对应的认证信息Key,网上检索后,方法如下。

配置步骤

  • 生成SSH-key
1
2
3
4
5
6
cd ~/.ssh/
# 生成GitHub所需要用的,使用默认名称回车跳过
$ ssh-keygen -t rsa -C "he@1991421.cn"

# 生成GitLab公司所需要用的,进行重命名id_rsa_company
$ ssh-keygen -t rsa -C "he@1991421.cn"

这样两者的密钥就是分开生成了,互不冲突

阅读全文 »

在实际开发中遇到这样的情况,比如一些外企企业,使用了网络代理,我在后端获取IP,发现存在空的情况。
分析下,原因如下:
当我们应用设定了信任代理的时候,直接使用req.ip获取的会是客户端的真实IP,但是信任代理的话,代理是会修改XXF头部信息的,比如
我遇到的情况就是代理修改请求头,导致我获取的req.ip为空,其实代理改了头,隐藏了真实客户端IP的话,的确我们是不可能得到真实的客户端IP了,但是代理本身的IP还是可以得到的,所以,我就封装了我自己的获取IP方法,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
* 获取客户端IP地址
* req.ips would be ["client", "proxy1", "proxy2"]
* 优先取客户端真实IP或最接近客户端一级的代理IP
*/
util.getClientIP = function (req) {
let ip = req.ip;
if (!ip) {
for (let item in req.ips) {
if (item) {
ip = item;
break;
}
}
logger.info('req.ips');
logger.info(JSON.stringify(req.ips));
}
return ip;
};

这个方案主要是弥补了我单纯使用req.ip获取客户端IP,会存在空的问题。
当然我们也可以设定不信任代理,但是这样子就意味着只获取客户端IP,永远不会知道代理环节的IP,所以代理信任设定,要看实际场景了。

app.enabled(‘trust proxy’)

当设定了信任代理时,express会获得客户端连接请求中的IP地址。

阅读全文 »

创建平台

1
ionic cordova platform add android 

创建签名文件

1
keytool -genkey -v -keystore he-release.keystore -alias he -keyalg RSA -keysize 2048 -validity 10000

创建签名配置文件

阅读全文 »

官方原文

浏览器环境下使用本地化插件

ionic native拥有130多个移动SDK插件,这点使得可能构建强大的ionic app。

由于历史原因,在浏览器环境下测试这些本地插件是很困难的,要求ionic开发者比如在物理设备或者虚拟机中进行测试,这是相当慢的一个过程。

ionic native3.0现在允许开发者能够伪装,在浏览器环境下通过重写类,是的能够提供测试数据,或者访问本地化API,比如HealthKit。

阅读全文 »

英文原版
大家好,很高兴的宣布,ionic cli v3版现在可以使用啦!
自从我们发布CLI v3 Beta版和我们的彩蛋,我们已经见证了众多的早期Beta测试者在他们的ionic项目中成功的使用。这些测试者提供了大量的反馈,当然也有机会中奖。事实上,他们中的许多人几个小时内就找到了其中的彩蛋。尤其最近,当开发者在我们上周举办的编程马拉松中成为了Ionic Jedi Hacksters,我们获得了更多的回馈
(编程马拉松战绩在这里)除了版本改变外,什么使得这个CLI这么特别呢,让我们看下这版CLI的几个关键点吧。

除了版本变化,这版的CLI特殊在哪呢,我们看下以下几个关键点吧:

速度+指南

你可能会留意到这版CLI的安装是如此之快,部分原因是在消除了超过90MB的依赖和成千上万行的旧程序code!如今,当你安装CLI的时候,你会得到更小的空间占用,安装时间也会更短。所以,CLI的速度和表现是我们主要考虑点之一。

另一个考虑点是我们要提供更多的帮助、指南和反馈。大量的命令现在提供所需的交互信息,CLI试图在问题出来时,能够是有用的,有效的。命令帮助已经提升。
仅仅加上--help参数到任意的命令上,就可以得到详细的输入信息和参数信息。我们也提供普通使用的样例信息,比如试下下面的这句命令ionic start --help

阅读全文 »

使用文字界面来设定,对于了解Linux有一定的帮住,平时不免接触,常用命令总结如下。

系统

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
uname -a # 查看内核,操作系统,CPU信息 
head -n 1 /etc/issue # 查看操作系统版本
env # 查看环境变量

# centos版本查看
cat /etc/redhat-release

# cpu
cat /proc/cpuinfo

# 内存
cat /proc/meminfo

# 修改时区
timedatectl set-timezone Asia/Shanghai

进程状态

阅读全文 »

在利用webpack2作为构建工具打包Angular4时,出现一个问题就是有两个文件打包出来的哈希值不变。

文件如下:

1
2
'common': './node_modules/moment/moment.js',
'polyfills': `./client/${platform}/polyfills.browser.ts`,

这两个文件,一个是服务于moment这个时间类库,一个是服务于处理SPA应用的浏览器兼容性问题,这两个文件,在webpack配置文件中我的配置方式如下

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
/**
* Options affecting the output of the compilation.
*
* See: http://webpack.github.io/docs/configuration.html#output
*/
output: {

/**
* The output directory as absolute path (required).
*
* See: http://webpack.github.io/docs/configuration.html#output-path
*/
path: helpers.root('dist'),

/**
* Specifies the name of each output file on disk.
* IMPORTANT: You must not specify an absolute path here!
*
* See: http://webpack.github.io/docs/configuration.html#output-filename
*/
filename: '[name].[chunkhash].bundle.js',

/**
* The filename of the SourceMaps for the JavaScript files.
* They are inside the output.path directory.
*
* See: http://webpack.github.io/docs/configuration.html#output-sourcemapfilename
*/
sourceMapFilename: '[name].[chunkhash].bundle.map',

/**
* The filename of non-entry chunks as relative path
* inside the output.path directory.
*
* See: http://webpack.github.io/docs/configuration.html#output-chunkfilename
*/
chunkFilename: '[id].[chunkhash].chunk.js'

},

阅读全文 »
0%