安固途径

知识来源于感觉和经验

Git checkout 远程分支和本地文件夹冲突了怎么切换到该目标分支

2022-06-08, 星期三|
git修复

git checkout 分支名 报错? fatal: 'ssr' could be both a local file and a tracking branch. 如何解决?

# git checkout ssr                                                                                                                           
fatal: 'ssr' could be both a local file and a tracking branch.                                                                               
Please use -- (and optionally --no-guess) to disambiguate

是否用 git checkout origin/ssr? 并不赞成. 因为这是一个远程分支.

那么怎么办呢? 答: 用 switch

...
阅读全文

Nginx map 在配置前端项目多版本中的应用

2022-05-31, 星期二|
配置软件

TL;DR

Nginx 的配置中有一个指令 map 可用于定义变量及其取值, 根据这个定义的变量可以动态的配置静态站点的目录.

实验目标

用户访问 v1.dev.example.com 和 v2.dev.example.com 分别得到 /var/www/html/v1/var/www/html/v2 的目录 中的静态资源.

必要条件

  • 泛解析(wildcard)的域名指向同一台服务器
  • 在系统中配置好前端静态资源的多个版本对应的多个目录

语法知识

map 指令

Syntax: map string $variable { … }

Default: —

Context: http

Code

map $http_host $name {
    hostnames;

    default       0;

    example.com   1;
    *.example.com 1;
    example.org   2;
    *.example.org 2;
    .example.net  3;
    wap
...
阅读全文

sails命令行工具之生成器

2017-05-26, 星期五|
前端

sails generate

Sails 搭配几个 generators 来帮助您快速的搭建一个新的项目. 您也可以 创建您自己的 generators 来处理频繁的任务, 或者扩展功能 (例如,通过创建一个 generator 来为您钟爱的模板语言输出视图文件).

下列 generators 集成于 Sails:

sails generate new <appName>

在一个叫做 appName 的文件夹中创建一个新的 Sails 项目. 见sails new有用法选项.

sails generate api <foo>

生成 api/models/Foo.jsapi/controllers/FooController.js

sails generate model <foo> [attribute1:type1, attribute2:type2 ... ]

生成 api/models/Foo.js, 加入指定类型的 attributes 可选.

sails generate controller <foo> [action1

...
阅读全文

快速开始CSS BEM命名规范

2017-05-22, 星期一|
前端样式开发

介绍

BEM (Block, Element, Modifier)是一种基于组件的Web开发方法。 其观点是将用户界面划分为独立的块。 即使使用复杂的UI,界面开发也变得简单快捷,并且允许复用现有的代码。

Block

功能独立的页面组件,可以重复使用。 在HTML中,块由class属性表示。

特点:

块名称描述了它的目的(“它是什么?” - 菜单或按钮),而不是其状态(“它是什么样子”? - 红色或大)。

例子
<!-- Correct. The `error` block is semantically meaningful -->
<div class="error"></div>

<!-- Incorrect. It describes the appearance -->
<div class="red-text"></div>
  • 该块不应影响其环境,这意味着您不应设置块的外部边距或定位。
  • 使用BEM时也不应使用标签或ID选择器。

这确保了重新使用块或将它们从一个地方移动到另一个地方是好的。

块使用指

...
阅读全文

让 node 应用自动重启

2017-02-23, 星期四|
前端开发

node 的 web 框架 expresssails 下的应用在启动时都不会因为代码的更改自动重启,开发时每次改一下代码手动重启一下应用很相当的麻烦,利用工具 nodemon 可以解决这个问题。

安装 nodemon

$ npm i -g nodemon

启动并监听文件的变化

$ nodemon ./app.js

参考 http://stackoverflow.com/questions/18687818/auto-reloading-a-sails-js-app-on-code-changes

...
阅读全文