Node.js 的开发环境选择很多,比如 WebStrom/Visual Studio Code/Atom/HBuilder,还有万能的 Vim/Emacs 等等。
根据我个人的试用,WebStorm 应该是配置起来最省心,用起来最顺手的选择,而且有 Android Studio 和 PyCharm 的使用经验上手毫无障碍。但一来 WebStorm 价格不菲,二来最近刚刚被 Atom 圈粉,而 Visual Studio Code 和 Atom 又是这些编辑器里面与 Node.js 渊源最深的,所以最终决定最近在学习 Node.js 以及写一些练手项目时以使用 Atom 为主,Vim 为辅。
主要是它们:
Atom 上的 Javascript 自动补全主要依赖 atom-ternjs 插件,貌似没有什么其它更好的选择。(配合 autocomplete-plus 插件使用,Atom 默认已经安装。)
安装方法与安装其它插件无异,主要有三种选择:
安装 script 插件,然后有两种方法可以一键运行/结束程序了:
atom-ternjs 插件对项目配置做了可视化,可以通过菜单来操作。
Save & Restart server 之后会在项目根目录生成 .tern-project 文件,该配置文件里常用字段: 字段名 含义 ecmaVersion 选择 ECMAScript 版本 libs browser 表示原生 js 补全,jquery 代表 jQuery 补全 loadEagerly 指定加载解析的 js 文件 dontLoad 排除加载的文件 plugins ternjs 使用的插件,配置的扩展补全的库等 目前插件的配置页面暂不支持 plugins 部分配置,需要手动配置。 比如一份最简单的 .tern-project 文件的示例: { "ecmaVersion": 6, "libs": [], "loadEagerly": [ "**/*.js" ], "plugins": { "node": {}, "node-express": {} } } 它代表使用 ECMAScript 6,递归加载项目文件夹下所有的 js 文件(包括 node_modules),使用 ternjs 的 node 插件用于 Node.js 核心库补全,node-express 插件用于 express 补全。 这部分推荐详细阅读一下 atom-ternjs 的 README,会更清楚怎么回事。
最终效果:
**/*.js
智能提示出不来。
另外就是 .tern-project 文件放置的位置,最好与 package.json 放在同级目录。
.
之后能卡五秒,严重拉低 Vim 编辑速度。
不过 tern_for_vim 也有一个好处,那就是不用像 atom-ternjs 这样每次改完配置后都要手动 Restart server。
ternjs 功能强大,包括:
把它用好了还是能不错地提升开发效率的。