如何在Vuejs中使用webpack更正css编译顺序?

tom*_*hoo 3 javascript webpack vuejs2

我有一个关于使用vue-cli项目的Webpack 2中的css编译顺序的问题.

在main.js中,我导入了一个名为的css库文件skeleton.css.这包括<a>颜色样式.

import Vue from 'vue'
import App from './App'
import router from './router'
import 'skeleton-css/css/skeleton.css'
Run Code Online (Sandbox Code Playgroud)

在App.vue中,我将<a>颜色样式设置如下

<style lang="scss">
    a {
        text-decoration: none;
        color: #2c3e50;
    }
</style>
Run Code Online (Sandbox Code Playgroud)

当我编译代码并打开chrome检查器时.我发现错误的订单插入样式.

<style type="text/css">....</style> // App.vue inline style
<style type="text/css">....</style> // skeleton.css style
Run Code Online (Sandbox Code Playgroud)

我的webpack 2配置了vue-cli

{
    test: /\.scss$/,
    use: [{
        loader: "style-loader"
    }, {
        loader: "css-loader"
    }, {
        loader: "sass-loader"
    }]
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能调整正确的导入样式顺序?

zer*_*kms 7

您需要重新排列imports你的main.js,因为它是影响秩序的唯一的事情<style>在结果DOM标签:

import 'skeleton-css/css/skeleton.css'
import Vue from 'vue'
import App from './App'
import router from './router'
Run Code Online (Sandbox Code Playgroud)

现在skeleton.css是第一个,其他一切都将在它之后.

  • @tommychoo 怎么会这样?如果你想让骷髅先出现——你就把它放在第一位。老实说,我不明白为什么它会让你感到惊讶:-) (2认同)