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...安装 atom-ternjs 总是失败。 Vim 也有 tern_for_vim,作为主力编辑器,为何不使用它来写 Node.js 呢?...后话 ternjs 功能强大,包括: 自动补全方法和变量 查找引用/定义 显示方法详情,包括方法签名和文档等 简单的重构 把它用好了还是能不错地提升开发效率的。
如何在 JavaScript 中引用 JS 脚本 在 JavaScript 中引用外部 JS 脚本有两种主要方法: 使用 标签 这是最简单的方法,通过在 HTML 页面中插入... 标签来引用 JS 脚本: 其中 src 属性指定要引用的脚本文件的路径。...动态创建并插入 元素: const script = document.createElement("script"); script.src = "script.js... 避免在同一页面中多次引用相同的脚本。 使用异步或延迟加载来防止脚本阻塞页面加载。 本文共 154 个字数,平均阅读时长 ≈ 1分钟
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...安装 atom-ternjs 总是失败。 访问国外网站 Vim 也有 [tern_for_vim][],作为主力编辑器,为何不使用它来写 Node.js 呢?...后话 ternjs 功能强大,包括: 自动补全方法和变量 查找引用/定义 显示方法详情,包括方法签名和文档等 简单的重构 把它用好了还是能不错地提升开发效率的。
(obj3)); console.log(isLoop(obj4)); console.log(isLoop(obj5)); console.log(isLoop(obj6)); 这里我看了JONS-js...typeof obj[key] === 'object') { if(cwm.has(obj[key])) { // 如果同层级的互相引用了...if(typeof obj[key] === 'object') { if(wm.has(obj[key])) { // 如果循环引用了
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
Atom基础 既然Atom在你的系统中已经安装了,让我们启动、配置并且熟悉这一编辑器吧。...在Atom中打开文件的另一种方式,是在命令行中使用atom命令。...$ atom -h Atom Editor v0.152.0 Usage: atom [options] [path ...]...Atom 模块 像许多Atom的部分一样,树视图并不直接构建在编辑器内,而是Atom默认自带的独立的包中。 你可以在这里找到树视图的代码。 这是Atom的有趣的事情之一。...这两个设置会解释为Unix通配符,在minimatch Node.js库中实现。 你可以在这里阅读更多关于minimatch的细节。
引入 js : import "../../...../static/home/jquery-2.1.1.min.js"; import "../../...../static/home/bootstrap.min.js"; import "../../...../static/home/jquery.easing.min.js"; import "../../...../static/home/hoverifyBootnav.js"; import "../../../static/home/init.js";
内部引用在任意html的位置嵌入script标签 再次写入js代码; alert('欢迎来到JavaScript世界'); alert('欢迎来到JavaScript世界'); alert...行内使用方式,在标签内声明一下,比如a标记herf内嵌套JavaScript: 行内嵌套a标记演示 点我 3.外部引用...js,之前的css外部引用使用了link,这里不用link外部链接 js外部代码位置" type="text/javascript">声明外部引用后,这里不要写js代码 js输出: document.write('这是js输出语句'); js弹窗: alert('欢迎来到js世界'); 本博客所有文章如无特别注明均为原创。...原文地址《js三种引用方式》 分享到:更多 标签: js引用
但是通过值传递的项本身就是一个引用。从技术上讲,这叫做call_by_sharing。 实际上,这意味着如果更改参数本身(如num和obj2),则不会影响传入参数的项。
3)html当中如何引用js文件 如果需要javascript工程师和html美工各干各的工作,需要分开写文件。...例 1.2 js"> ... Hello.js(如果你用notepad建立一个txt之后你再改为js,一定在存时,要存成utf-8或unicode格式): var a ; /*before you
Atom中的包 首先,让我们从Atom的包系统开始讲起。...列在底下的是发布到atom.io的包,它是Atom包的官方注册处(registry)。设置面板中的搜索操作,会进入atom.io中的包注册处寻找,之后拉回任何匹配你搜索的东西。...如果没有的话,打开Atom,运行Atom > Install Shell Commands菜单apm和atom命令。...This Atom.io Package compiles .coffee Files on save to .js files....(myJavascript.coffee -> myJavascript.js) (349 downloads, 4 stars) ├── coffee-lint CoffeeScript linter
在Atom中写作 虽然Atom通常可能用来编写软件的代码,但是它还可以用来高效地编写文章。这通常采用一些标记语言,比如说Markdown和Asciidoc(也就是英文手册所用的格式)来完成。...下面我们会很快浏览一遍Atom提供给你用来写文章的一些工具。...拼写检查 如果你在处理文本(通常包括纯文本文件,Github Markdown文件和Github提交信息),Atom会自动尝试去检查你的拼写。...要向Atom尝试检查拼写的列表中添加文件类型,在你的设置视图中访问拼写检查包的设置,然后添加你希望检查的任何语法。...Atom拼写检查工具使用系统的字典,所以如果你希望在另一种语言或者区域中检查拼写,你可以很容易修改它。 拼写检查功能在atom/spell-check包中实现。
在Atom中移动 用鼠标和方向键,简单地在Atom中移来移去非常容易,然而Atom有一些快捷键,可以让你把手一直放到键盘上,更快速地浏览文档。 首先,Atom自带许多Emacs的快捷键来浏览文档。...符号浏览功能在atom/symbols-view包中实现。 Atom书签 Atom同时拥有一个非常棒的途径,在特定的一行上面加上书签,使你可以快速跳到那一行。...如果你按下cmd-F2,Atom会给那一行加上书签。你可以在整个项目中设置一些书签,并且使用它们快速跳到项目中一些重要的行。一个小的书签标识会加在行号后面,像下面这张图的第22行。...按下F2之后,Atom会跳到当前文件的下一个书签的位置。如果你按下shift-F2则会跳到上一个。...书签功能在atom/bookmarks包中实现。
但是我现在本地有了js文件或者是一个远程js文件链接,我不想使用npm install xxx 的方式,有什么办法吗?.../xxx.js"> // 暴力引入 缺点:不使用该js插件的组件也会加载,而我只想在某个Vue组件中使用该js插件。.../js/xxx.js' //注意路径 缺点:下载的静态文件才可以 方式三 在Vue组件加载完后,手动操作DOM插入js插件。...将方式三包装成一个js插件,使用 Promise,js加载成功,调用resolve,js加载失败,调用reject。...可以动态替换要加载的js文件。 包装一个importJs.js 插件。
Atom中的版本控制 对于任何项目来说,版本控制都是很重要的一个方面。Atom集成了一些基本的Git和Github功能。...Git状态(status)列表 Atom带有模糊查找的包,提供了cmd-T快捷键来快速打开项目中的文件,以及cmd-B快捷键来跳到任何已打开的编辑器。...提交(commit)编辑器 Atom可以用作你的Git提交(commit)编辑器,并自带git语法包(language-git),它添加了语法高亮来编辑提交(commit)、合并(merge)和rebase...你可以使用以下命令来设置Atom为你的Git提交编辑器。...$ git config --global core.editor "atom --wait" language-git包会通过给提交消息的第一行加上颜色,来提醒你缩短它,当它超过50和65个字符的时候
(css|js|jpg|png|gif|svg)$/, "/$1.$2"); next(); }); app.use('/public/', express['static'](__dirname
DEMO 通常一个Atom Shell app的文件目录如下: your-app/ ├── package.json ├── main.js └── index.html package.json的格式和普通的...如下是package.json文件的样例: { "name" : "your-app", "version" : "0.1.0", "main" : "main.js...('browser-window'); // 把app的crash情况发送给服务器 require('crash-reporter').start(); // 保持一个全局的window对象引用...dirname + '/index.html'); // 在窗口关闭时触发 mainWindow.on('closed', function() { // 移除window对象的引用... We are using node.js document.write(process.version) and atom-shell <script
昨天github通知我可以开始试用atom了。惊喜之余,立刻开始体验。 Atom是什么 Atom是github内部的编辑软件,据说已经使用了6年之久。...所以atom想做成一款初学者和Hacker都会喜欢,随着他们能力增长而增长的编辑器。 Atom基本功能 编辑器环境 ?...Atom插件系统 github在github.com/atom下开源了很多atom的package。我们随便看一个和排序相关的package —— 它能够排序选择的文本。使用起来是这个样子: ?...看上去atom的源代码来自chrome —— 我觉得atom很可能是一款以某种方式运行本地web app的浏览器。...Atom的问题 就目前两小时的使用而言,我遇到了如下问题: (1) 第一次打开atom的时候,一个help文档会被自动打开。正当我一行行看的时候,atom自己crash了。
为了提高编写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的终端上完成
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。我们计划在未来实现一个迁移系统,但是现在至少能防止你对旧的状态反序列化。