Vue cli3 脚手架,加载 mp3 文件

先把 mp3 文件放到 src/assets/ 文件夹下

这里列出三种加载方式:

  1. 直接 require('path/to/x.mp3'),这里的使用的是相对路径
  2. 直接把 src 写在 audio 标签是不行的,默认配置没有支持 audio 的 src 属性

    <audio controls>
        <source src="path/to/x.mp3">
    </audio>
  3. 想要支持 audio 的 src 属性,要在 vue.config.js 自定义下 loader 配置,如下

    module.exports = {
      chainWebpack: config => {
        config
          .module
            .rule('vue')
            .use('vue-loader')
            .loader('vue-loader')
            .tap(options => {
    options.transformAssetUrls = {
      audio: 'src',
    }
    return options;
            });
      }
    }

    配置来自:GH

macOS Mojave 安装 PHP 遇到的问题

如果刚更新了 macOS Mojave,没有安装过最新的 Xcode 和 Xcode command line tool 的话,
安装 php 或者运行 php 的时候就会遇到类似下面这样的报错:

dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.61.dylib
  Referenced from: /usr/local/bin/php
  Reason: image not found

解决方案就是更新 Xcode 和 Xcode 命令行工具,更新 Xcode 要很久做好心理准备。

之前已经安装好的 php 也不能用的话,等更新完 Xcode 之后,执行 brew reinstall php@7.x 就可以了。

supervisor 使用时遇到的一个坑

使用 supervisor 启动程序的时候,不会继承 .profile 文件里的环境变量。
如果使用 export TZ=Asia/Shanghai 来修改时区的话,在 supervisor 启动的程序里的时区还是有问题的。

可以在 supervisor 配置文件中指定 environment=TZ=Asia/Shanghai


可以使用 stopsignal 配置来指定停止执行 stop 时候发送的信号,默认是 SIGTERM

[转] Linux 查看和修改时区

转自:http://imshuai.com/change-linux-timezone/ 感觉写的不错,清晰明了。

对于部署在海外的Linux服务器来说,拿到的机器时区和本地并不一样,导致运行在上面的应用也面临时区问题。所以有必要修改系统本地时区。

1. 查看时区

查看当前生效的时区,可以简单的通过date命令查看当前时间:

[root@shuai01 zoneinfo]# date -R
Tue, 17 Jan 2017 21:36:23 +0800
最后的 +0800,即东 8 区。

2. 设置时区

然并卵的 tzselect 命令

看起来很像一个时区选择的工具,但并非如此。事实上 tzselect 仅仅是一个查看时区表示方式的『向导』程序而已。通过依次询问大洲u2192国家u2192城市,最后告诉你如何TZ变量的写法,比如北京时间是:Asia/Shanghai

TZ变量

可以通过修改 TZ 变量,直接修改时区信息,比如:

[root@shuai01 ~]# date -R
Tue, 17 Jan 2017 13:57:06 +0000
[root@shuai01 ~]# export  TZ='Asia/Urumqi'
[root@shuai01 ~]# date -R
Tue, 17 Jan 2017 19:57:18 +0600

有 Linux 经验的小伙伴都知道,不写在文件里的设置更改很难生效一般是会话级的,重新登录会消失。所以,这样直接修改 TZ 的尿性绝对做不到持久化更改时区的。

正确的方式是到 /etc/profile 里(或用户的 .profile 或 .bashrc 文件),直接 export TZ 变量为要更改的时区(时区的名字可以用 tzselect 向导来确定)

/etc/localtime 文件

默认情况下情况下,TZ 属性是空,这时候是靠 /etc/localtime 文件来确定的时区。而此文件通常又是一个到 /usr/share/zoneinfo/ 下各种时区文件的软连接。通过修改 /etc/localtime 指向的软连接,进而修改系统的时区。比如下面的方法,将 localtime 文件设置为了北京时间:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

3. 总结

tzselect 命令无法修改时区,仅给出时区的城市表示法
TZ变量和 /etc/localtime 文件会影响时区,并建议直接修改 /etc/localtime 文件。
如果在 shell 中临时需要变更时区信息,可以修改 TZ 变量实现。
在 profile 文件里设置变量 TZ,达到和修改 /etc/localtime 类似的效果。

更新

2017-01-19
设置完时区,最好做一次服务器重启(或相关service的重启)。否则像crontab这样的服务,会仍然沿用原来的时区。

关闭 vim 默认的 visual 模式

比较新的 Debian 系统中内置的 vim 也比较新,vim 有个默认的配置文件位于/usr/share/vim/vim80/defaults.vim,如果没有设置 $HOME/.vimrc 的话,vim 就会读取这个配置文件。

这个配置文件里有一项配置

if has('mouse')
  set mouse=a
endif

导致 vim 默认为 visual 模式,与之前的默认模式不一致,操作不顺手。

我们可以自己新建一个 $HOME/.vimrc 写入自己想要的配置,比如代码高亮

if has("syntax")
  syntax on
endif

有了 $HOME/.vimrc 之后就不会读取 /usr/share/vim/vim80/defaults.vim 了。