dengal3 / log

record daily bugs :p
0 stars 0 forks source link

2016-05-13-browsersync-and-docker #1

Open dengal3 opened 8 years ago

dengal3 commented 8 years ago

Browsersync

browsersync能够帮助我们快速开发静态页面。在命令行下运行的话,连gulp那些自动化工具的配置都不需要,真的是非常舒心。 今天就简单记录一下browsersync在命令行下的使用。

browsersync命令行

现在假设我们的开发目录如下

  • html/
    • login.html
    • register.html ...
  • css/
    • main.css
    • login.css ...
  • js/
    • main.js ...
  • assets/
    • bg.jpg ...

我们在当前目录下执行 browser-sync start --files "css/*.css", "html/*.html" --server --startPath "html/" --index "login.html"

--files:监视哪些文件 --server: 开启服务器 --index: 指定页面作为首页,默认是 startPath路径或根目录下的index.html --startPath: 打开的url的默认路径

这里要注意一个问题,部署在服务器上的时候是以在执行该命令行的目录作为服务的根目录,所以当我们想在浏览器中去访问register.html时,输入的应该是“/html/register.html”,而不是“register.html”,同理,我们在所有文件中对其他资源的链接都是建立在这个认识上的。

docker

docker实际上就是集封箱的思想,把开发软件所有环境都包在一个容器里面,这个容器不会影响到我们主机本地的环境。这个容器中的环境可以配置你想要的系统,安装你想要的软件和环境配置,这些所有的东西都可以写在Dockerfile中配置。

在使用的时候遇到的一些问题记录:

1. docker daemon is not running on host.

权限问题:sudo su && service docker start

2. 端口映射问题

配置文件中的EXPOSE和执行命令中的-p选项:EXPOSE是容器的端口暴露出来,-p是设置宿主机端口和容器端口之间的映射关系。

3. 路径问题

Dockerfile中的ADD命令:把本地的文件(src/*.)加到容器的路径中(/app/),我们之后的ENTRYPOINT,CMD都要以容器的路径为准

# Based on ubuntu
FROM ubuntu:14.04
MAINTAINER IreneDeng <729880819@qq.com>

# Install node
RUN apt-get update 
RUN apt-get install -y nodejs 

# Bundle the working directory
ADD src/ /www/var

EXPOSE  7777
ENTRYPOINT ["nodejs", "/www/var/index.js"]
daix6 commented 8 years ago
  1. browser-sync 很好用!
  2. 不是说 record daily bugs 吗?我以为是every day。
dengal3 commented 8 years ago

我开始的时候也觉得是every day的,ORZ

daix6 commented 8 years ago

@dengal3 :sweat_smile: