vue.js body的css不生效问题及解决
作者:甜心小宇yu丶
这篇文章主要介绍了vue.js body的css不生效问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
vue.js body的css不生效
因为style上有scoped标签,去掉即可。
<style> /* 此处如果有scoped 则body的css内容不生效*/ body{ margin:0px; padding:0px; font-family: "微软雅黑"; font-size: 16px; } </style>
vue中的scoped属性
在vue组件中,在style标签上添加scoped属性,以表示它的样式作用于当下的组件,使得该css样式不影响到其他组件或本组件的子组件,也保护的本组件的样式不受其他组件影响。
通过Vue-CLI添加Vuetifyjs CSS不生效
通过vue-cli创建的vue项目,yarn build后,用yarn serve运行没有问题,但是用nginx提供服务,vuetify的css死活无法加载!
Nginx配置
worker_processes 1; events { worker_connections 10240; } http { include /usr/local/etc/nginx/mime.types; default_type application/octet-stream; server { listen 80; server_name localhost; location / { alias ~/Workspace/peds/portal/dist/; index index.html; } location /api { rewrite ^/api/(.*)$ /$1 break; proxy_pass http://localhost:3000; } } }
直接修改public目录下index.html,以CDN模式引入虽然可以工作,但是找不到根本原因实在是睡不着觉。
读了一百遍vue-cli和vuetifyjs的官方文档,逐行比较代码,总算是找到症结所在。原来通过vue-cli的vue add vuetify添加的/src/plugins/vuetify.js有问题!
fix方案如下:
修改src/plugins/目录vuetify.js如下:
import Vue from 'vue'; import 'vuetify/dist/vuetify.min.css'; import Vuetify from 'vuetify/lib'; Vue.use(Vuetify); const opts = {}; export default new Vuetify(opts);
注意:
- 导入vuetify.min.css
- 要导入vuetify/lib(不是vuetify/lib/framework!)
修改src目录main.js如下
// src/main.js import Vue from 'vue' import vuetify from './plugins/vuetify' // path to vuetify export new Vue({ vuetify, }).$mount('#app')
参考https://vuetifyjs.com/en/getting-started/installation/#webpack-install的vuetify-loader方案修改。
重新yarn build,然后nginx -s reload,打开浏览器测试,OK。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。