这里会显示出您选择的修订版和当前版本之间的差别。
jaysnote:node_setup [2019/07/29 14:22] jaylee |
jaysnote:node_setup [2021/06/22 23:14] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | < | ||
- | # gac-350 node development env set up | ||
- | |||
- | 本文详细介绍基于gac-350 门禁的node windows 开发环境的搭建,以及用以该门禁远程编译调试node工程。 | ||
- | |||
- | gac-350 | ||
- | |||
- | * [smart-device-node gitlab](http:// | ||
- | |||
- | > **提示**:在`MyDreamPlus` 环境可能连接[aws.ovpn]()连接[gitlab](http:// | ||
- | |||
- | gac-350 smart-device-node 通过typescript 编码实现,ts通过解释成js后运行。 | ||
- | |||
- | - [typestript](https:// | ||
- | - [TypeScript in 5 minutes](https:// | ||
- | - [Running and debugging TypeScript](https:// | ||
- | - [Running and Debugging Node.js](https:// | ||
- | |||
- | 集成开发环境使用itellij,习惯vs的可以选择vs201x/ | ||
- | |||
- | * [ide itellij idea](https:// | ||
- | |||
- | gac-350 门禁通过supervisor守护node 工程运行,程序入口通过supervisor配置文件到npm start 再到 `packge.json` 包管理的start命令。 | ||
- | |||
- | ``` | ||
- | supervisor-> | ||
- | ``` | ||
- | |||
- | ## install | ||
- | |||
- | ### itellij | ||
- | |||
- | itellij 直接通过 [ide itellij idea](https:// | ||
- | |||
- | * 修改本机host文件 | ||
- | |||
- | ```bash | ||
- | 0.0.0.0 account.jetbrains.com | ||
- | 0.0.0.0 www.jetbrains.com | ||
- | ``` | ||
- | |||
- | * 添加注册码 | ||
- | |||
- | ```bash | ||
- | 56ZS5PQ1RF-eyJsaWNlbnNlSWQiOiI1NlpTNVBRMVJGIiwibGljZW5zZWVOYW1lIjoi5q2j54mI5o6I5p2DIC4iLCJhc3NpZ25lZU5hbWUiOiIiLCJhc3NpZ25lZUVtYWlsIjoiIiwibGljZW5zZVJlc3RyaWN0aW9uIjoiRm9yIGVkdWNhdGlvbmFsIHVzZSBvbmx5IiwiY2hlY2tDb25jdXJyZW50VXNlIjpmYWxzZSwicHJvZHVjdHMiOlt7ImNvZGUiOiJJSSIsInBhaWRVcFRvIjoiMjAyMC0wMy0xMCJ9LHsiY29kZSI6IkFDIiwicGFpZFVwVG8iOiIyMDIwLTAzLTEwIn0seyJjb2RlIjoiRFBOIiwicGFpZFVwVG8iOiIyMDIwLTAzLTEwIn0seyJjb2RlIjoiUFMiLCJwYWlkVXBUbyI6IjIwMjAtMDMtMTAifSx7ImNvZGUiOiJHTyIsInBhaWRVcFRvIjoiMjAyMC0wMy0xMCJ9LHsiY29kZSI6IkRNIiwicGFpZFVwVG8iOiIyMDIwLTAzLTEwIn0seyJjb2RlIjoiQ0wiLCJwYWlkVXBUbyI6IjIwMjAtMDMtMTAifSx7ImNvZGUiOiJSUzAiLCJwYWlkVXBUbyI6IjIwMjAtMDMtMTAifSx7ImNvZGUiOiJSQyIsInBhaWRVcFRvIjoiMjAyMC0wMy0xMCJ9LHsiY29kZSI6IlJEIiwicGFpZFVwVG8iOiIyMDIwLTAzLTEwIn0seyJjb2RlIjoiUEMiLCJwYWlkVXBUbyI6IjIwMjAtMDMtMTAifSx7ImNvZGUiOiJSTSIsInBhaWRVcFRvIjoiMjAyMC0wMy0xMCJ9LHsiY29kZSI6IldTIiwicGFpZFVwVG8iOiIyMDIwLTAzLTEwIn0seyJjb2RlIjoiREIiLCJwYWlkVXBUbyI6IjIwMjAtMDMtMTAifSx7ImNvZGUiOiJEQyIsInBhaWRVcFRvIjoiMjAyMC0wMy0xMCJ9LHsiY29kZSI6IlJTVSIsInBhaWRVcFRvIjoiMjAyMC0wMy0xMCJ9XSwiaGFzaCI6IjEyMjkxNDk4LzAiLCJncmFjZVBlcmlvZERheXMiOjAsImF1dG9Qcm9sb25nYXRlZCI6ZmFsc2UsImlzQXV0b1Byb2xvbmdhdGVkIjpmYWxzZX0=-SYSsDcgL1WJmHnsiGaHUWbaZLPIe2oI3QiIneDtaIbh/ | ||
- | ``` | ||
- | |||
- | ### node | ||
- | |||
- | node 解释器和sdk通过[nodejs.org](https:// | ||
- | |||
- | ### run | ||
- | |||
- | 成功安装itellij后通过New-> | ||
- | |||
- | > **提示**: | ||
- | |||
- | 如果要在windows上面编译工程,需要添加 Run-> Edit Configurationss-> | ||
- | |||
- | * package.json 为工程根目录下的`package.json` 文件; | ||
- | * command 为`start` | ||
- | * Node interprter 为如上node安装路径。 | ||
- | * 详细配置如下: | ||
- | | ||
- | ![itellij debug node](http:// | ||
- | |||
- | 同时可配置远程机器运行直接配置到gac-350门禁上运行调试。 | ||
- | |||
- | * 初次使用该功能需要手动添加node.js 远程解释器插件。 | ||
- | |||
- | File-> | ||
- | |||
- | > **提示**:详细参考[Configure Node.js Remote Interpreter Dialog](https:// | ||
- | |||
- | * 成功安装node.js 远程插件过后通过Run-> | ||
- | |||
- | * 详细配置如下图: | ||
- | |||
- | ![远程调试](http:// | ||
- | |||
- | > **提示**: 需要提前远程设备root账号和密码,同时允许ssh root账号登录。 | ||
- | |||
- | ## troubleshooting | ||
- | |||
- | ### 编译失败 | ||
- | |||
- | ```bash | ||
- | Error:(2, 21) TS2307: Cannot find module ' | ||
- | Error:(6, 16) TS2503: Cannot find namespace ' | ||
- | ``` | ||
- | |||
- | |||
- | |||
- | ### 本地运行提示 Cannot find cross-env.js | ||
- | |||
- | ```bash | ||
- | internal/ | ||
- | throw err; | ||
- | ^ | ||
- | |||
- | Error: Cannot find module ' | ||
- | at Function.Module._resolveFilename (internal/ | ||
- | at Function.Module._load (internal/ | ||
- | at Function.Module.runMain (internal/ | ||
- | at startup (internal/ | ||
- | at bootstrapNodeJSCore (internal/ | ||
- | ``` | ||
- | |||
- | 如上文,已经反复提示,初次安装需要手动解压安装根目录下的node_modules.zip 压缩包。 | ||
- | |||
- | ### 远程调试提示Illegal instruction | ||
- | |||
- | ```bash | ||
- | / | ||
- | bash: line 1: 11260 Illegal instruction | ||
- | ``` | ||
- | |||
- | 暂时地,门禁版本过于7,不支持debug功能。 | ||
- | |||
- | ' | ||
- | |||
- | https:// | ||
- | |||
- | ```bash | ||
- | 在版本 7 以及更早的版本使用 --debug 或 --debug-brk 开关启动调试时,Node.js 侦听由中断定义的调试命令,TCP 端口上的 V8 调试协议,默认为 5858。任何遵守此协议的调试客户端都可以连接并调试运行这个进程,下面有一些热门的说明。 | ||
- | ``` | ||
- | |||
- | http:// | ||
- | |||
- | 低版本node不支持itellij 调试,需要安装高版本的node-> | ||
- | |||
- | </ |