git ssh 访问,只要把 ssh 公匙放到 git server 端就可以了,不需要输入账号密码
但有些情况下,不能使用 ssh 方式,比如: 万恶的公司网限制了 ssh 端口
想学更多有意思的东西,想做自己的网站,想学画画
vue 配置了 alias,如:1
2
3
4
5
6chainWebpack: config => {
config.resolve.alias.set('vue$', 'vue/dist/vue.esm.js')
config.resolve.alias.set('@img', path.resolve(__dirname, 'src/assets/images'))
config.resolve.alias.set('@js', path.resolve(__dirname, 'src/assets/js'))
...
}
这样在 import XXX from "@js/xxx"
后,没有代码提示了
1 | 接口回调方法名由 js 指定,类似 jsonp,否则多次连续调用同一接口只能串行 |
PHP 实现,在构造函数中:1
2
3
4
5
6
7
8
9
10// host 白名单
$hostList = [
'http://xxx.xxx.xxx',
'http://localhost:8080',
];
if( !empty($_SERVER['HTTP_ORIGIN']) && in_array($_SERVER['HTTP_ORIGIN'], $hostList)){
header('Access-Control-Allow-Origin:'.$_SERVER['HTTP_ORIGIN']);
header('Access-Control-Allow-Credentials:true');
}
vue-cli 默认 babel-loader 忽略 node_modules
当某个依赖(如 vue-baberrage)存在 ES6 语法时,vue 官方给出的解决方案是 transpileDependencies
1 | 默认情况下 babel-loader 会忽略所有 node_modules 中的文件。如果你想要通过 Babel 显式转译一个依赖,可以在这个选项中列出来。 |
但自测 transpileDependencies 无效,解决办法:
微信打开 http://debugx5.qq.com
选择”信息”tab,勾选”打开TBS内核xxx”一系列选项
可扫码打开:
moment 体积较大,但一般只使用到几种语言,应该过滤一下
vue cli 的 vue.config.js1
2
3
4
5
6
7
8
9configureWebpack: config => {
config.plugins.push(
// 提取 monent 有效部分,减小体积。压缩前 611k->163k
// en-gb 英国 en-us 美国(默认值) vi 越南 zh-cn 中国
new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, /^\.\/(zh-cn|vi)$/i)
)
}
注: 在 moment locale 目录下并没有 en-us,默认为 en-us
moment 的这一设计也遭到不少 diss
使用vue-i18n
1
npm install vue-i18n --save
配置 main.js1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18// i18n,国际化
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
const i18n = new VueI18n({
locale: 'zh',
messages: {
'zh': require('@/assets/languages/zh.json'),
'en': require('@/assets/languages/en.json')
}
});
let app = new Vue({
router,
store,
// i18n,国际化
i18n,
render: h => h(App)
}).$mount('#app');
@/assets/languages/zh.json1
2
3
4
5
6
7{
"common" : {
"app" : {
"name" : "app 名称"
}
}
}
@/assets/languages/en.json1
2
3
4
5
6
7{
"common" : {
"app" : {
"name" : "app name"
}
}
}
xxx.vue1
2
3
4template:
{{$t("common.app.name")}}
js:
this.$t("common.app.name")
切换语言1
this.$i18n.locale = 'en';
注:1
21. 应该根据用户的地域设置默认语言
2. 用户切换语言后,应该种 cookie
vue.config.js1
2
3
4
5
6
7
8
9module.exports = {
...
chainWebpack: config => {
// images alias
config.resolve.alias.set('@img', path.resolve(__dirname, 'src/assets/images'))
...
},
...
}
在 js 中使用图片1
2
3require('@img/ksp_72.png')
eg:
:style="'background:url(' + require('@img/ksp_72.png') + ')'"
在 scss 中使用图片1
2
3'~@img/ksp_72.png'
eg:
background: url(~@img/ksp_72.png)