我试图在我的Sveltekit项目中实现autoprefixer,
我只使用CSS文件。它们几乎都位于src/css文件夹中,除了app.css位于src文件夹中。
我已经在我的svelte.config.js
中添加了这个(并安装了依赖项):
// From https://www.reddit.com/r/sveltejs/comments/vggw7r/how_to_use_autoprefixer_and_scss_together_in/
import svelte_preprocess from 'svelte-preprocess'
import autoprefixer from 'autoprefixer'
/** @type {import('@sveltejs/kit').Config} */
const config = {
preprocess: [
svelte_preprocess({
postcss: {
plugins: [autoprefixer()],
},
}),
vitePreprocess(),
],
/***
这是我的postcss.config.cjs的内容
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
// Optimizing tailwind for production https://tailwindcss.com/docs/optimizing-for-production
...(process.env.NODE_ENV !== 'development' ? { cssnano: {} } : {})
}
}
这是我期望的CSS文件前缀:
/* shake.css */
.shake {
animation-name: shake;
animation-timing-function: linear;
animation-duration: 1750ms;
animation-delay: 500ms;
animation-iteration-count: 1;
}
@keyframes shake {
0% {
transform: translate(5px, 0);
}
50% {
transform: translate(-5px, 0);
}
100% {
transform: translate(0, 0);
}
}
下面是一个我希望在结果中使用的前缀CSS的例子:
.shake {
-moz-animation-name: shake;
}
@-moz-keyframes shake {
0% {
-moz-transform: translate(5px, 0);
}
50% {
-moz-transform: translate(-5px, 0);
}
100% {
-moz-transform: translate(0, 0);
}
}
完整的Sveltekit +页面.svelte加载
<style>
.exemple {
background: #000;
color: white;
width: 100px;
height: 50px;
padding : 10px;
margin : 10px;
}
</style>
<script>
import '$src/css/shake.css'
</script>
<div class="exemple shake"> Test </div>
我重新启动了服务器,Vite启动没有问题,但autoprefixer似乎不工作:我在这个简单的页面导入的CSS文件上没有看到供应商前缀。
我还从命令行运行了autoprefixer:它确实包含-webkit-
前缀
- 如何使autoprefixer工作与常规的css文件?
- 它可以与苗条的组件内部CSS?
1条答案
按热度按时间tkqqtvp11#
我已经在我的SvelteKit项目中进行了如下设置,并且可以确认
.css
文件中的<style>
块都正确地自动修复。依赖
svelte.config.js
postcss.config.js