我正在使用Vue.js开发一个渐进式网络应用程序。
在我开发的过程中,我使用命令npm run dev
启动提供http://localhost:8080/上文件的本地服务器。当我想构建生产时,我使用npm run build prod
生成project\dist
中的输出文件。然后我将这些文件复制到ISS上,ISS配置为与单页应用程序一起使用。到目前为止一切都很好。
我注意到在dev和prod构建之间app看起来(css)的方式有些不同。首先我认为这可能是因为客户端缓存,但在几次尝试清理缓存和无缓存加载后,我确信缓存不是问题。输出确实不同。
说实话,我不确定除了一些小的CSS部分之外是否还有其他不同之处。我在想什么可能是问题,我注意到的一个原因可能是因为我使用带有作用域的css(*.scoped.vue.css
文件名)的vue中的单个文件组件。我想将不同的文件组合成一个文件可能有问题吗?
可能会注意到,对于npm,webpack和所有其他涉及的技术,我都是一个新手。如果您想查看配置,可以找到我当前正在运行的分支构建配置here。
知道问题可能是什么?
答案 0 :(得分:0)
使用单个文件组件时遇到了同样的问题。问题确实在于,当您运行npm run build
时,它将生成一个单独的css文件,而不保证样式将以相同的顺序应用,从而导致忽略某些属性值。我通过将!important
添加到最终构建中未匹配的属性来“修复”它。可能有更好的方法来解决这个问题,但我必须承认我也是一个新人。
答案 1 :(得分:0)
在npm run build
期间,样式的应用顺序很重要,据我所知,这是您无法控制的。为了摆脱冲突,在使用Vue.js
时,您可能需要scope
样式。
在项目中的每个*.vue
文件中,替换
<style>
...
</style>
使用
<style scoped>
...
</style>