node 的 web 框架 express
和 sails
下的应用在启动时都不会因为代码的更改自动重启,开发时每次改一下代码手动重启一下应用很相当的麻烦,利用工具 nodemon
可以解决这个问题。
安装 nodemon
$ npm i -g nodemon
启动并监听文件的变化
$ nodemon ./app.js
参考 http://stackoverflow.com/questions/18687818/auto-reloading-a-sails-js-app-on-code-changes
用 gulp-pug 编译 pug 文件很方便,不过也会出现因 pug 文件中语法出错而编译出错的情况,这时 gulp.watch 就停止了,需要手动重新启动非常的不方便。利用插件 gulp-notify 可以很方便的解决这个问题。
var gulp = require('gulp'),
pug = require('gulp-pug'),
notify = require('gulp-notify');
gulp.task('pug', function(){
return gulp.src('pug/*/*.pug')
// .pipe(plumber())
.pipe( pug({ pretty: true }).on('error', notify.onError( (error) => { return `pug went wrong, ${error}`; } )) )
.pipe(gulp.dest('page'));
});
这样,gulp.watch
进程就不会停止了,还会继续监听 pu
可以利用修改环境变量 PS1 来修改终端提示文字,例如
$ export PS1="\u@\h:\W$ "
将上述命令增加到 ~/.bashrc
文件中。
变量 PS1 中的变量及其的具体含义如下
虚拟机中安装的是 ubuntu, 和主机共享文件夹后,非 root 的普通用户不能进入这个共享文件夹。如果想要让普通用户进入,需要将该用户加入 vboxsf 组,假设用户名为 foo, 共享文件夹名为 sf_uShare,那么将用户 foo 加入 vboxsf 组的命令是
# usermod -aG vboxsf foo
可以使用 groups 查看 foo 是否已经加入 vboxsf 组
$ groups foo
重启虚拟机后,用户 foo 现在可以进入 /media/sf_uShare 目录了。
更多参考 stackexchange
在 ios safari 上用伪元素 hover ,点击不会起作用,这时可以为任意用 hover 的元素增加一个 onclick
属性来解决这个问题。
<div onclick="">Click Me!</div>