为什么引入css样式文件能够作用到全局?而引入js文件就只能在当前模块下产生作用?
main.js
import a from './a.js';
//样式文件
import './index.css'
a.js
export default "hello world"
index.css
.title{
color:red
}
为什么引入css样式文件能够作用到全局?而引入js文件就只能在当前模块下产生作用?
main.js
import a from './a.js';
//样式文件
import './index.css'
a.js
export default "hello world"
index.css
.title{
color:red
}
main.js中引入样式全局可用。
import a from './a.js';
引入js的话,你需要使用:
Vue.prototype.$hello = a;
//这样直接在子组件使用this.$hello就能访问了。
"hello world"
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
在 main.js 中引入的 css 都是全局生效的。引入的 js 文件只在 main.js 中生效,是因为 main.js 在webpack中是一个模块,a.js 也是一个模块,在其他地方是访问不到这个 a 的,这就是ES6的模块化,所以如果你想这个 a.js 全局可用,就需要绑定到全局对象上,比如绑定 Vue 上,让这个 a 暴露在全局对象上。