为什么 CSS 在 `npm run dev` 和 `npm run build` 之间呈现不同?

Man*_*tel 5 css vuejs2 vuetify.js

我有一个简单的(ish)VueJs(2.5.2)应用程序,它依赖于 vuetify(1.5.6)。项目是通过 IntelliJ 使用 Vue cli 创建的,因此它是一个标准结构。

应用程序中只有 1 个组件,具有如下范围的 css:

<style scoped>
 .app-stores{
  font-size: 12px;
  text-align: center;
 }

 .app-stores img{
  max-width: 190px;
 }  

 .padded-checkout-btn {
  padding: 10px;
 }
</style>
Run Code Online (Sandbox Code Playgroud)

然后我在组件中使用它,如下所示:

 <v-btn class="padded-checkout-btn" color="green lighten-1" :disabled="!isCheckoutable()" @click="progressStepper(2)">Checkout {{currencySymbol + toPrice(calculateTotal())}}</v-btn>
Run Code Online (Sandbox Code Playgroud)

现在,如果我npm run dev在浏览器中本地运行并查看它,它看起来就像我期望的填充:

正确的填充

但是,如果我运行npm run build(对代码没有任何更改)并上传到站点,则填充似乎消失了:

不正确的填充

我检查了构建的 css 文件,它似乎在那里:

.padded-checkout-btn[data-v-dedb1744]{padding:10px}
Run Code Online (Sandbox Code Playgroud)

如果我检查结果源,我可以看到它在那里声明:

<button data-v-dedb1744="" type="button" class="padded-checkout-btn v-btn theme--light green lighten-1"><div class="v-btn__content">Checkout £7.00</div></button>
Run Code Online (Sandbox Code Playgroud)

问题:为什么它们不同?即使以某种方式隐藏了 CSS,运行 dev 与 build 的全部意义在于它们是相同的吗?关于如何诊断/修复的任何想法?

devbuild定义如下:

"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"unit": "jest --config test/unit/jest.conf.js --coverage",
"test": "npm run unit",
"lint": "eslint --ext .js,.vue src test/unit",
"build": "node build/build.js"
}
Run Code Online (Sandbox Code Playgroud)

Man*_*tel 2

固定的。感谢@Strelok 将我推向正确的方向。这与应用 css 的顺序有关。将声明更改为:

.padded-checkout-btn {
  padding: 10px !important;
}
Run Code Online (Sandbox Code Playgroud)

确保它在其他所有事情之后应用(我猜......)

仍然不太明白为什么它适用于开发构建而不是生产构建。