IDE - Sublime text 3: 安装 nodejs 解释器
-
概述
- 安装 js 运行环境
-
背景
- 找到了一本讲 js 的陈年老书
- 为了配合学习, 安装了 sublime text 3
- 并且安装了几个插件
- 但是在 写js 代码时, 遇到了一些问题
- 之前 java, python 的 ide, 都是自带解释器, 或者配置很简单
- sublime text 3 的 js 解释器, 上哪里配置
- 我要用什么样的 js 解释器
-
环境
- os
- win10
- sublime text 3
- 3211
- node.js
- 14.9.0
- os
1. 解释器选择
-
概述
- 解释器选择
-
解释器
-
作用
- js 是脚本语言
- 运行时通常是由解释器从上到下执行
-
常见解释器
- chrome
- 著名浏览器端解释器
- firefox
- 也是著名的浏览器端解释器
- node.js
- 服务器端解释器
- chrome
-
-
sublime text 3
-
安装解释器
- 可以通过 插件方式
-
可选解释器
- 看起来很多
- 但是搜索的结果, 大多是 node.js
-
-
问题
-
问题1: 为啥没有用 chrome 解释器的呢
-
问题
- chrome 或者 firefox 应该是 js 应用的主流
- 如果只是写了然后用 浏览器 来看, 调试的时候, 会不会比较麻烦
-
结果
- 找了一会儿, 也没找到合适的
-
-
问题2: node.js 的解释器
-
问题
- 为什么大家都用 node.js 的解释器
- 和 chrome 有什么区别
-
结果
-
大家都用, 我也用吧
-
打开 node.js 官网, 一行大字让我瞬间放心
Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时
-
行吧, 开始准备环境
-
-
-
2. 步骤
- 概述
- 配置步骤
1. 安装 nodejs
-
概述
- 安装 node.js
-
步骤
- 下载安装包
- 安装
2. 安装插件 Nodejs
-
概述
- sublime text 3 安装插件
-
步骤
- 打开 package control
- 选择
install package
- 搜索
Nodejs
- 找到后选择安装
3. 确认 cmd 编码
-
概述
- 确认 cmd 编码
-
为什么要确认 cmd 编码
- sublime text 3 在使用 node.js 插件时, 会使用 cmd
- 如果 cmd 的编码 和 node.js 插件编码不一致, 会出现乱码
-
确认 cmd 编码
- 打开 cmd
- 在 标题栏 右键, 弹出菜单
- 单击 属性
- 在 选项 标签下, 可以看见 当前编码
-
调整 cmd 编码
-
ref
-
目的
- 与 后面要调整 的 node.js 插件编码一致, 即可
-
-
注意
- 调整这个编码, 可能会有一些副作用
- 我目前没有也没有太好的处理办法
- 我将 cmd 和 node.js 都设置为了 utf-8, 其他地方冲突了再说
4. 调整 Nodejs 编码
-
概述
- 调整 Nodejs 插件编码
-
步骤
- 找到 Nodejs 插件的安装目录
- 打开文本
Nodejs.sublime-build
- 修改 encoding 项
- 改为 "utf-8"
5. 重启
- 重启
- 重启 sublime text 3
- 网上没说要重启, 但是我不重启就没有生效
6. 简单使用
-
概述
- 简单使用
-
脚本
alert("hello, sublime text 3 and node.js")
-
步骤
- 创建 js 文件
- 写入内容
- 右键, 弹出菜单
- 选择
Nodejs > Run > Run
-
结果
-
报错
ReferenceError: alert is not defined
-
原因
- alert 不是 js 的一部分
- alert 操作的是浏览器
- nodejs 里是没有浏览器可以操作的
-
-
脚本改进
console.log("hello, sublime text 3 and node.js")
-
执行结果
- 没有异常
- 成功打印了 log 里的内容
7. 后续
- 学 js
- 找找有没有其他厉害的插件
- 这些 插件, 配置, 要是能 导入导出 的话, 绝对会很方便
ps
- ref
-
Sublime Text3配置及控制台乱码 - cmd杀死进程乱码/编译文件乱码 - 解决方法 - 。思索 - 博客园
- 大体流程相似
- 处理思路, 有点小不一样
- 如果我的路走不通, 可以看看他是怎么做的
-
ReferenceError: “alert” is not defined
- 为什么 alert 不会报错
-
尽量尝试解释清楚; 自己校对能力有限, 如果有错误欢迎指出