前端开发主要涉及到html, css(less/sass), javascript这几个方面的知识。真正的快速有效开发,必须实现所谓所见即所得。在构建生产时,可能需要使用gulp/grunt等task runner来将前端所有的任务串联起来,但是在一个简易开发环境中,有以下两种模式快速构建本地静态页面(html+css+js)开发环境。

browsersync 命令行方式启动server去serve静态页

1. nodejs安装;

2. npm 安装

npm install -g browser-sync

3. 在你需要开发的目录下,启动一个cmd,执行以下命令,开启web server,监视文件变更。

browser-sync start --server --directory --files ./*.*

这时,会自动启动一个默认浏览器,打开你的目录,你随便选择文件运行;

4. 对于javascript你可以在代码中随时加一个debugger命令让js引擎运行到这个位置时自动中断运行,以便供你检查运行的stack

var btn = document.getElementById("btn");
var ret = document.getElementById("ret");
btn.addEventListener('click', function(){
ret.innerText = 10 + num.value;
debugger
console.log(ret.innerText);
})

这种方案的优点是可以livereload,但是缺点是每次测试前要执行browsersync的命令行命令以便启动browsersync来执行web服务

直接通过sublime来集成一个web server

这种方式的思路是一切操作都在sublime中进行,通过过安装一个插件sublimeServer来实现sublime启动时自动启动内置的web server(默认8080端口),而该server将serve所有在sublime中打开的文件夹,

你只需要在sublime编辑界面右键选择open in sublimeserver就可以直接在web browser中以http://localhost:8080/xxx/yourfile.html的方式来编辑了!

这个方案的优点是非常简便,一切操作直接在sublime中搞定,但是无法实现livereload

还有一种方案是sublime直接集成browsersync但是这个比较傻瓜,因为browsersync是依赖于nodejs的,他把整个package都再安装一遍,太大了!!




综合上面几种方案,我觉得最好的方案是browsersync命令行+sublime修改文件触发livereload,但是如何解决命令行路径的烦人问题呢?

安装一个Terminal的sublime插件,添加如下配置信息:

"terminal": "C:\\WINDOWS\\system32\\cmd.exe",
"open_terminal_project_folder"
// commands
"parameters": ["/START", "%CWD%"]

以后需要在web server中调试一个文件时,直接在sublime text编辑界面, ctrl+shit+t打开terminal,运行以下命令:

browser-sync start --server --directory --files .

即可。但是上面ctrl+shift+t的方式在文件目录为中文目录时可能存在问题不能使用,那么另外一种绕过烦人的一系列cd命令到相应目录的方法是:1.在sublime中右键open containing folder;2.shift+右键;3.选择在此处打开cmd

我的前端页面开发js简易有效环境的更多相关文章

  1. css背景精华所在+前端页面开发流程

    background属性 background属性是css中应用比较多,且比较重要的一个属性,它是负责给盒子设置背景图片和背景颜色的,background是一个复合属性,它可以分解成如下几个设置项: ...

  2. 前端页面开发,最低兼容IE 8的多设备跨平台问题解决!

    项目要求: 网站能够使用PC.ipad.mobile phone正常访问 页面PSD版式宽度分别为1024px和750px 参考资料 使用CSS3 Media Queries,其作用就是允许添加表达式 ...

  3. 静态页面开发JS页面跳转加密解密URL和参数

    页面跳转加密URL地址参数传递 window.location.href="foot.html?"+"good="+encodeURI(encodeURI(go ...

  4. X5的UI部分和传统Web页面开发的差异

    http://doc.wex5.com/different-with-std-web-ui/#1 X5的UI部分和传统Web页面开发的差异 WeX5是跨端移动开发框架,BeX5是基于WeX5的企业快速 ...

  5. 自适应 or 移动前端页面布局的问题?

    说出来,还请各位看官不要笑 - -.哥们至今不是很清楚页面的自适应和移动前端页面开发有什么区别 .有幸哪位看官清楚这些的话,希望能不吝赐教 .A.meta        <meta name=& ...

  6. Spring Boot +Vue 项目实战笔记(二):前后端结合测试(登录页面开发)

    前言:关于开发环境 每位 Coder 都有自己偏好的开发工具,从大的方面划分主要有文本编辑器流和 IDE 流两种,我有一段时间也喜欢用编辑器(Sublime Text.Vim),但对我来说开发效率确实 ...

  7. angular.js前端分层开发(页面和js代码分离,并将js代码分层)

    一. 抽取模块成base.js文件// 定义模块: var app = angular.module("eshop",['pagination']); 二. 抽取服务成brandS ...

  8. MVVM开源框架Knot.js 教程2 - 大幅改变前端框架开发体验的Debugger

    Knotjs教程系列 1.CBS初步 2.Knot.js Debugger(本文) ....持续增加中 Knot.js 教程2 - 改变前端框架开发体验的Debugger Debugger只是一个方便 ...

  9. JavaWeb开发使用jsp还是html做前端页面

    一.概述 刚开始学习Javaweb开发的小伙伴都有一个疑惑:用jsp开发前端还是用HTML开发前端呢? 这个疑惑的来源主要是:刚接触完前端但又不深入学习js,接着学习jsp,发现老师们都一直用着jsp ...

随机推荐

  1. qt下qmake:提示could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory

    编译出现的问题解决方法: 打开终端输入,qmake -v,出现错误:qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': N ...

  2. 移远EC20的使用

    一 发短信 3. 推荐短信流程3.1 查询 短信存储区AT+CPMS?+CPMS: "ME",19,255,"ME",19,255,"ME" ...

  3. electron --- 构建桌面应用

    最近无意间看到了electron和nw的相关信息,感到很惊讶,因为学习前端也有一段时间了,竟然发现js还有这么强大的功能,因为js不仅可以写网页.写webapp.写hybrid,以及前不久出现的小程序 ...

  4. LinuxShell脚本基础 6-case...esac的使用和通配符

    1.case...esac的使用 #!/bin/bash echo "请输入编号 选择不同的显示文件和目录方式:" echo "1 - 普通显示" echo & ...

  5. ssh 端口转发实现外网 80 端口映射到内网 80 端口

    开发中经常需要外网服务映射到本机内网服务的需要,便于调试. 以前都是同事帮着配,这两天自己也看了一下 ssh 端口转发. 同事分分钟钟搞定的事情,自己折腾了 2 天, 真是弱爆了. 最初老想不明白一件 ...

  6. 浏览器对document.all的支持差异

    从何而来从IE4开始IE的object model才增加了document.all对象,MSDN中也对 Object.all 有详细的说明,Object.all是个HTMLCollection,不是数 ...

  7. oracle系统包——dbms_job用法(oracle定时任务)

    用于安排和管理作业队列,通过使用作业,可以使ORACLE数据库定期执行特定的任务. 一.dbms_job涉及到的知识点1.创建job:variable jobno number;dbms_job.su ...

  8. gcd函数两种实现(参考)

    注意: %a= a%-----溢出 递归: #include<stdio.h> int gcd(m,n) { int g; ) g=m; else g=gcd(n,m%n) return ...

  9. 软工网络15Alpha阶段敏捷冲刺博客汇总

    博客链接汇总: 第一篇:http://www.cnblogs.com/pubg722/p/8891605.html 第二篇:http://www.cnblogs.com/pubg722/p/89090 ...

  10. 次讲解js中的回收机制是怎么一回事。

    在前几天的一篇闭包文章中我们简单的介绍了一下闭包,但是并没有深入的讲解,因为闭包涉及的知识点比较多,为了能够更好的理解闭包,今天讲解一下关于js中的回收机制. 在初识闭包一文中我说过js中有回收机制这 ...