# VUE个人积累 使用VUE-cli创建的项目发布之前必须将 config/index.js 中 build 下的 productionSourceMap: true, 改为 productionSourceMap: false, 否则生产环境中可以看见所有的源码 ## vue-cookies 安装 `npm install vue-cookies --save` 使用 ```js import VueCookies from 'vue-cookies' Vue.use(VueCookies) ``` Api 设置 cookie `this.$cookies.set(keyName, time) //return this` 获取 cookie `this.$cookies.get(keyName) // return value` 删除 cookie `this.$cookies.remove(keyName) // return false or true , warning: next version return this; use isKey(keyname) return true/false,please` 查看一个cookie是否存在(通过keyName)`this.$cookies.isKey(keyName) // return false or true` 获取所有cookie名称 `this.$cookies.keys() // return a array` ## nginx 配置 在vue路由模式为history的时候,刷新页面会出现404问题。我们只需要在服务器配置如果URL匹配不到任何静态资源,就跳转到默认的index.html。 ``` server { listen 8105; // 表示你nginx监听的端口号 root /home/admin/sites/vue-nginx/dist; // vue打包后的文件夹dist目录 index index.html; location / { try_files $uri $uri/ /index.html; } } ``` ## 常见问题 * store的对象可以直接更改,换另一个变量存着也是同一个内存地址,,尽量避免直接操作 * var newObj = JSON.parse(JSON.stringify(obj)); 可以这样深拷贝 # vue typescript * Component 装饰器 可以像类一样写 * 变量定义为undefined将不会具备更新视图的功能,如需要请用null,或者使用data钩子,写在return里边 * 组件的方法可以直接写在类里边 * 计算方法为get和set * Component组件引用 ```js import OtherComponent from './OtherComponent.vue' @Component({ // Specify `components` option. // See Vue.js docs for all available options: // https://vuejs.org/v2/api/#Options-Data components: { OtherComponent } }) * msg!: string 感叹号值得是告诉编译器这里一定有值