abu*_*abu 5 javascript css vue.js
在Vue.js应用程序中添加外部CSS文件的正确方法是什么?
我发现了几种在Vue.js应用程序中添加CSS文件的方法。
有人建议使用这个。<link rel="stylesheet" type="text/css" href="/static/bootstrap.min.css">。
有人建议这个
<style lang="scss">
@import 'src/assets/css/mycss_lib.css';
</style>
Run Code Online (Sandbox Code Playgroud)
有人建议这个
require('./assets/layout3/css/layout.min.css')
有人建议在中使用以下代码webpack.config.js。
{
test: /\.(css|less)$/,
use: [{
loader: "style-loader" // creates style nodes from JS strings
}, {
loader: "css-loader" // translates CSS into CommonJS
}, {
loader: "less-loader" // compiles Less to CSS
}]
}
Run Code Online (Sandbox Code Playgroud)
有人建议使用这个
<style src="../node_modules/vue-multiselect/dist/vue-multiselect.min.css"></style>
Run Code Online (Sandbox Code Playgroud)
使用所有这些方式的优点和缺点是什么?
我想以某种方式使用,以便所有CSS文件在部署时成为一个文件。这样我的应用程序加载速度更快。
npm install sass-loader --save-dev
Run Code Online (Sandbox Code Playgroud)
css在您的src/assets目录下创建新目录
styles.scss在新css目录中创建一个文件
将以下代码行添加到您的main.js文件中
import '../src/assets/css/styles.css';
Run Code Online (Sandbox Code Playgroud)
在该styles.scss文件中,您可以导入多个 css 文件。
@import '~bootstrap/scss/bootstrap.min.css';
@import './common.css';
Run Code Online (Sandbox Code Playgroud)
您还可以在同一个文件中编写像这样的常规 CSS 属性
body {
background: gray;
}
div {
font-weight: bold;
}
Run Code Online (Sandbox Code Playgroud)
npm run serve
Run Code Online (Sandbox Code Playgroud)
对我来说(!)在 Vue.js 中最好的方法是在我的主 index.html 中包含带有链接标记的全局页面样式。这样,它们就可以从任何地方访问,并在页面首次打开时加载。像这样: index.html:
<link rel="stylesheet" type="text/css" href="/static/bootstrap.min.css">
Run Code Online (Sandbox Code Playgroud)
我的组件的样式规则使用以下内容内联在 .vue 文件中:mycomponent.vue:
<style scoped>
...
</style>
Run Code Online (Sandbox Code Playgroud)
编辑:
如果您不想使用 .vue 文件并使用 .js 文件,则无法在组件内限定 css 的范围。如果是这种情况,我总是将它们命名为与组件相同的名称,并将其包含在链接标记的 index.html 中。