写在前面
Link Develop 2.0发布一周之后,我才得了空闲体验了这款开发工具。虽然Link Develop 2.0依然没有推出本地版的IDE,但整个工具链已经初步形成闭环,如可以在Web端新建项目、托管代码、构建和发布,具备一定的可视化开发能力,可通过git与托管代码库交互,实现本地化开发。此外,阿里云开发工具包(SDK)也日渐丰富。我更期待未来Link Develop能推出本地版的IDE,哪怕最初的版本仅仅是工具链简单的可视化集成。
1. 概述
本文主要描述Link Develop 2.0云端应用一个初始样例创建过程。首先,通过Link Develop【创建一个项目】,然后在该项目中【创建一个Web应用】-【云端Node.js应用】,创建完成后系统默认在code.aliyun上建立一套初始代码。在Windows环境下通过git下载该代码之后在本地运行,最后修改代码后再提交code.aliyun。
2. 安装Node.js
n 下载并安装:8.12.0 LTS
3. 安装Git和TortoiseGit
可直接用git命令行,也可用TortoiseGit可视化的方式进行push/pull。
3.1. Git命令行
n 安装git:https://git-scm.com/
n 配置git
Ø 执行git-bash.exe或鼠标右键选择【Git Bash Here】
图 1
Ø 打开git bash后,输入:$ ssh-keygen -t rsa -C “username@example.com”
其中username@example.com为阿里云账号
图 2
Ø 找到“C:/用户/admin/.ssh/id_rsa.pub”文件,里面的内容将要复制到sshKeys中。
3.2. TortoiseGit工具
n 安装TortoiseGit
n 配置TortoiseGit:配置SSH client ssh.exe文件地址
图 3
4. 建立Egg.js 应用开发项目
4.1. 建立Web应用
n 查看官方文档: https://linkdevelop.aliyun.com/web-doc完成Web应用的建立
n 【Egg.js应用开发-创建应用】、【Egg.js应用开发-版本管理】、【Egg.js应用开发-服务授权】
n 建立Web应用:【创建一个Web应用】-【云端应用】:egg
n 创建完成后可获得:git【代码仓库】和【代码仓库http地址】
图 4
图 5
4.2. 代码仓库设置sshKeys
n 访问【代码仓库http地址】
n 增加SSH秘钥【Home】-【Profile】-【sshKeys】:
在Key里面输入本地文件“C:/用户/admin/.ssh/id_rsa.pub”文件中的所有内容
图 6
图 7
图 8
5. 下载并运行项目
n 为提高下载速度更改为淘宝镜像,在DOS命令行中执行如下命令:
npm config set registry https://registry.npm.taobao.org
n 通过命令行执行git命令:
git clone git@code.aliyun.com:iot-a124labfagshewwn/iot-a120ufurkelntrpm.git myapp
也可通过TortoiseGit执行
n 通过命令行分别执行本地代码
Ø npm i
Ø npm run dev
图 9
n 浏览器访问http://localhost:7001/
图 10
6. 本地开发
6.1. 下载Visual Studio Code
6.2. VSCode安装插件【debug】-【install additional debugger…】
n Debugger for Chrome
n npm
n Node.js Modules Intellisense
图 11
6.3. 导入项目文件
n 【File】-【Open Folder…】: D:\myapp\iot-a120ciuc8ve4gw7h
n 修改文件\app\controller\home.js,注释一行,添加一行。
//return ctx.body = '请先在 linkdevelop.aliyun.com 上创建产品和设备';
return ctx.body = 'hello world.';
6.4. 执行修改的代码
图 12
6.5. 运行项目
图 13
7. 上传修改代码
n iot-a120ciuc8ve4gw7h文件夹右键:【Git Commit->”master”…】:Commit
n Push…
图 14
图 15
图 16
8. 云端构建
n 查看官方文档: https://linkdevelop.aliyun.com/web-doc完成云端后续构建。
n 【Egg.js应用开发-添加机器】和【Egg.js应用开发-构建和发布】
写在后面
这些天新闻时常推送黎曼猜想的新闻,因为没有丝毫预先的知识,甚至无法仰望。倒是在93年首次听到费马大定理被证明的时候(94年最终证明),兴奋不已的第一时间告诉父亲(高中数学老师)。因为家里的书架上一直摆着一本关于世界数学难题的书,而第一道正是似乎看得懂题目的费马大定理。
世界七大数学难题唯一看得懂的是NP完全问题,这个普遍存于《算法分析与设计》和《计算理论》教材的问题。定义一个问题,接着把它归结为NP问题,然后通过某种近似算法解决,这早已成为学术研究的一种经典套路。
不知道能不能有机会仰望NP完全问题得到最终解决,这不仅仅要突破现有算法的边界,也许要突破当今数学的边界。但有理由坚信,一个真正的基于中国工业物联网/工业操作系统的纯国产IDE一定能盼到,虽然10年前我们参与研发的WSN节点IDE最终只是昙花一现。