Node.js 的开发环境选择很多,比如 WebStrom/Visual Studio Code/Atom/HBuilder,还有万能的 Vim/Emacs 等等。...但一来 WebStorm 价格不菲,二来最近刚刚被 Atom 圈粉,而 Visual Studio Code 和 Atom 又是这些编辑器里面与 Node.js 渊源最深的,所以最终决定最近在学习 Node.js...安装 Atom 插件 主要是它们: atom-ternjs 用于 Javascript 和 Node.js 的自动补全 script 用于一键运行程序 自动补全插件 Atom 上的 Javascript...一键运行插件 安装 script 插件,然后有两种方法可以一键运行/结束程序了: Packages > Script > Run Script/Stop Script。...Mac Windows 运行 cmd+i ctrl+shift+b 结束 ctrl+c ctrl+q 配置项目 atom-ternjs 插件对项目配置做了可视化,可以通过菜单来操作。
Node.js 的开发环境选择很多,比如 WebStrom/Visual Studio Code/Atom/HBuilder,还有万能的 Vim/Emacs 等等。...但一来 WebStorm 价格不菲,二来最近刚刚被 Atom 圈粉,而 Visual Studio Code 和 Atom 又是这些编辑器里面与 Node.js 渊源最深的,所以最终决定最近在学习 Node.js...安装 Atom 插件 主要是它们: atom-ternjs 用于 Javascript 和 Node.js 的自动补全 script 用于一键运行程序 自动补全插件 Atom 上的 Javascript...一键运行插件 安装 script 插件,然后有两种方法可以一键运行/结束程序了: Packages > Script > Run Script/Stop Script。 快捷键。...安装 atom-ternjs 总是失败。 访问国外网站 Vim 也有 [tern_for_vim][],作为主力编辑器,为何不使用它来写 Node.js 呢?
最近在学习Python,自然也安装了Atom编辑器的一些Python插件。有一个插件名字叫做atom-python-run,作用很简单,就是按F5运行当前Python文件。...不过这个插件有一个问题,就是只能在Windows平台上以cmd方式运行。我希望这个插件能支持Powershell方式运行,所以我就给作者提了Issue。结果发现Issue还不少。...所以我就想,为什么不自己做一个Atom插件呢? 以上就是我开发这个插件的目的了。这个插件的主要功能就是按F5启动一个终端运行Python文件,终端可以是cmd也可以是powershell。...由于atom-python-run这个插件有CodeBlocks式的程序返回值和运行时间的显示,我希望我的插件也具有这个功能。...这个插件作用很简单,就是在cmd或者powershell中运行当前的Python文件,有兴趣的同学可以下载试试。
Atom基础 既然Atom在你的系统中已经安装了,让我们启动、配置并且熟悉这一编辑器吧。...在Atom中打开文件的另一种方式,是在命令行中使用atom命令。...你可以在命令行中打开任意数量的目录,通过向atom命令传递它们的路径。例如你可以运行atom ./hopes ./dreams命令,来同时打开hopes和dreams目录。...Atom 模块 像许多Atom的部分一样,树视图并不直接构建在编辑器内,而是Atom默认自带的独立的包中。 你可以在这里找到树视图的代码。 这是Atom的有趣的事情之一。...这两个设置会解释为Unix通配符,在minimatch Node.js库中实现。 你可以在这里阅读更多关于minimatch的细节。
via https://www.iplaysoft.com/item/atom-shortcuts 文件切换 ctrl-shift-s 保存所有打开的文件 cmd-shift-o 打开目录 cmd-...ctrl-shift-U 调出切换编码选项 查找和替换 cmd-F 在buffer中查找 cmd-shift-f 在整个工程中查找 代码片段 alt-shift-S 查看当前可用代码片段 在~/.atom...alt-cmd-shift-{ 折叠全部 alt-cmd-shift-} 展开全部 cmd-k cmd-N 指定折叠层级 N为层级数 文件语法高亮 ctrl-shift-L 选择文本类型 使用Atom
在VS Code中有一个插件——code runner,可以安装后直接运行在node 环境中,然后在vscode中输出文件的结果。...在test.js文件里面右键选择Run Code或者编辑器右上角的方形运行按钮来运行文件,结果在输出一栏输出。
通过在控制台运行一下命令,检查你是否安装了apm: $ apm help install 你会看到一条有关apm install命令的详细信息打印出来。...如果没有的话,打开Atom,运行Atom > Install Shell Commands菜单apm和atom命令。...如果你运行apm search命令,你可以在包注册处搜索想要找的东西。...This Atom.io Package compiles .coffee Files on save to .js files....(myJavascript.coffee -> myJavascript.js) (349 downloads, 4 stars) ├── coffee-lint CoffeeScript linter
学习闭包的基础知识: 函数声明 function fn(){ //这里是代码 }; fn(); //运行fn函数 与上面等价 var fn = function(){ //这里是代码 } fn(...); //运行 对fn()进行替换一下 (fn)()等价与fn() (function(){ //这里是代码 })() 测试: (function(){ var str= '自运行' alert...(str); //就可以运行了 })() alert(str); //不能访问str变量 这样作的好处尽可能的少用全局变量
本文阐述了浏览器端和node端的js运行机制执行的过程,还进行了两者的运行机制比较,以及同步任务和异步任务的说明,两种异步任务的必要性,以及各自有哪些回调,部分回调的优先级。...JS运行机制复述 首先js执行,会有一个函数执行栈(stack),一个任务队列(task queue),一个微任务队列(microtask queue),事件循环(event loop)。...浏览器和Node端事件循环的差别 两者的运行机制完全不同,实现机制也不同。 node.js可以理解成4个宏任务队列(timer、I/O、check、close)和2个微任务队列。...JS异步任务 js的异步任务分为两种:宏任务、微任务。一个宏任务里面可以拥有多个微任务,在执行js代码块的时候才会去执行内部的微任务。 宏任务 macrotask,也叫tasks。...function () { console.log('promise') }) }) setTimeout(() => { console.log(3) }) node11以后的版本与浏览器端运行结果一致
在Atom中写作 虽然Atom通常可能用来编写软件的代码,但是它还可以用来高效地编写文章。这通常采用一些标记语言,比如说Markdown和Asciidoc(也就是英文手册所用的格式)来完成。...下面我们会很快浏览一遍Atom提供给你用来写文章的一些工具。...拼写检查 如果你在处理文本(通常包括纯文本文件,Github Markdown文件和Github提交信息),Atom会自动尝试去检查你的拼写。...要向Atom尝试检查拼写的列表中添加文件类型,在你的设置视图中访问拼写检查包的设置,然后添加你希望检查的任何语法。...Atom拼写检查工具使用系统的字典,所以如果你希望在另一种语言或者区域中检查拼写,你可以很容易修改它。 拼写检查功能在atom/spell-check包中实现。
在Atom中移动 用鼠标和方向键,简单地在Atom中移来移去非常容易,然而Atom有一些快捷键,可以让你把手一直放到键盘上,更快速地浏览文档。 首先,Atom自带许多Emacs的快捷键来浏览文档。...通过安装ctags,并且从命令行中,在你的项目根目录下运行ctags -R src/这样的命令,来生成文件。 如果你在Mac中使用Homebrew,运行brew install ctags来安装。...符号浏览功能在atom/symbols-view包中实现。 Atom书签 Atom同时拥有一个非常棒的途径,在特定的一行上面加上书签,使你可以快速跳到那一行。...按下F2之后,Atom会跳到当前文件的下一个书签的位置。如果你按下shift-F2则会跳到上一个。...书签功能在atom/bookmarks包中实现。
Atom中的版本控制 对于任何项目来说,版本控制都是很重要的一个方面。Atom集成了一些基本的Git和Github功能。...Git状态(status)列表 Atom带有模糊查找的包,提供了cmd-T快捷键来快速打开项目中的文件,以及cmd-B快捷键来跳到任何已打开的编辑器。...如果你运行git status,你在命令行中会看到相同的文件。 每个文件的右边会出现一个小图标,让你知道它是未跟踪的还是已修改的。...你可以使用以下命令来设置Atom为你的Git提交编辑器。...$ git config --global core.editor "atom --wait" language-git包会通过给提交消息的第一行加上颜色,来提醒你缩短它,当它超过50和65个字符的时候
昨天github通知我可以开始试用atom了。惊喜之余,立刻开始体验。 Atom是什么 Atom是github内部的编辑软件,据说已经使用了6年之久。...通过第一个快捷键,你可以调出一个命令行窗口,运行各种和菜单对应的功能;通过第二个快捷键,你可以方便地调出某个文件。 和sublime text一样,atom也提供了package和plugin。...atom选择coffeescript有几个很重要的考量(我猜的): coffeescript(javascript)的拥趸很多 语言强大,代码简单 是主流能够运行在浏览器中的语言(coffeescript...需要先翻译成javascript) 拿到atom后,我一直在怀疑它是个运行在浏览器中的web app。...看上去atom的源代码来自chrome —— 我觉得atom很可能是一款以某种方式运行本地web app的浏览器。
Atom中的序列化 当一个窗口被刷新,或者从上一次会话恢复的时候,视图和它相关的对象会从JSON表达式中反序列化,它们在窗口上一次关闭时储存。...module.exports = activate: (state) -> @myObject = if state atom.deserializers.deserialize...atom.deserializers.add(class) 你需要在你的类中调用atom.deserializers.add方法来使它对反序列化系统可见。...版本控制 class MyObject atom.deserializers.add(this) @version: 2 @deserialize: (state) -> ......反序列化的时候,Atom只在版本匹配的时候尝试对其反序列化,否则返回undefined。我们计划在未来实现一个迁移系统,但是现在至少能防止你对旧的状态反序列化。
客户端端脚本运行于浏览器中,服务器端脚本运行于nodejs中。在Atom Shell中有类似的概念,运行于Render端页面中的脚本和运行于browser端中的脚本。...DEMO 通常一个Atom Shell app的文件目录如下: your-app/ ├── package.json ├── main.js └── index.html package.json的格式和普通的...其中属性main的值表示app的入口脚本,这个脚本会运行在Browser端中。... We are using node.js document.write(process.version) and atom-shell 运行App 首先下载Atom Shell的可执行文件。然后运行如下命令执行app: windows:.
JS运行原理 深入了解V8引擎原理 浏览器内核是由两部分组成的,以webkit为例: WebCore:负责HTML解析、布局、渲染等等相关的工作; JavaScriptCore:解析、执行JavaScript...代码; 官方对V8引擎的定义: V8是用C ++编写的Google开源高性能JavaScript和WebAssembly引擎,它用于Chrome和Node.js等 它实现ECMAScript和WebAssembly...,并在Windows 7或更高版本,macOS 10.12+和使用x64,IA-32,ARM或MIPS处理 器的Linux系统上运行。...V8可以独立运行,也可以嵌入到任何C ++应用程序中。...闭包的一个重点, js中闭包就是通过作用域链的方式来完成变量可以跨作用域访问的,为我们加快提升了开发的效率 也省去很多麻烦
之前看别人使用vscode的时候,能直接运行js文件,我一直使用idea开发,每次运行js都是通过命令窗口执行node xxx.js。其实idea是可以直接使用node执行js。...在没安装node插件之前,右键一个js,是这样的: ? 没办法直接运行,通过terminal执行node xxx.js也不行,会直接报错。...直接install,然后重启一下,然后右键js文件: ? 这样就可以直接通过node运行js文件。 而卸载要通过这个地方进去: ? ?...很水的一个分享,只是为了以后自己可以直接通过node运行js方便一些。 (完)
代码块: JS中的代码块是指由标签分割的代码段。JS是按照代码块来进行编译和执行的,代码块间相互独立(即就算代码块1出错,但不影响代码块2的加载和执行),但变量和方法共享。...的加载原理: 在加载HTML页面的时候,当浏览器遇到内嵌的JS代码时会停止处理页面,先执行JS代码,然后再继续解析和渲染页面。...由于现代浏览器都允许并行下载JS文件,因此标签在下载外部资源时不会阻塞其他的标签。遗憾的是JS下载过程仍然会阻塞其他资源的下载。...JavaScript的任务列队: JS任务可以分为两种:一种是同步任务,另一种是异步任务。注意,只有主线程空了,才会去读取"任务队列",这就是JS的运行机制,这个过程会不断重复。...定时器功能主要由setTimeout()和setInterval()这两个函数来完成,它们的内部运行机制完全一样,区别在于前者指定的代码是一次性执行,后者则为反复执行。
想要了解JS底层运行机制,首先要明白这几个概念: 为什么js能在浏览器中执行 众所周知,计算机是有内存的,计算机会在内存中开辟一块空间去供js执行,这个空间我们称之为执行栈 全局对象和全局变量对象是一样的吗...全局变量对象,在script标签内的代码执行时,会形成EC(G)的栈,EC(G)进栈(执行环境栈,EC Stack)执行,形成全局执行上下文(VO(G)),供给下级作用域 js中上下文有哪些 全局上下文... 初始化作用域链 scope chain 初始化this 初始化arguments 形参赋值 变量提升 3.函数体代码执行 4.出栈释放 ---- JS...底层运行机制(成哥版,腾讯课堂有免费公开课) 函数都是对象,对象身上就会有属性,有的属性可以访问,有的属性不能直接访问 函数执行多次会生成多个上下文,每个执行上下文都是独一无二的,函数执行完,执行上下文被销毁
为了提高编写HTML和CSS的速度,最近尝试着在Atom中安装emmet插件,下面谈谈安装成功的过程 1首先我尝试了网上教程中介绍最多的方法:打开Atom的引导界面(Welcome Guide)中的install...2然后我又采用了第二种方式:apm install emmet,很可惜,由于同上的原因,也报错失败了 3最后我通过进入atom的package的目录下把emmet的远程库克隆下来,然后在shell输入npm...命令依次为 1.cd ~/.atom/package 2.git clone xxxxx/emmet.git 3.cd emmet/ 4.npm install 安装过程在ubuntu14.04的终端上完成
领取专属 10元无门槛券
手把手带您无忧上云